Przeglądaj źródła

Merge branch 'beta_house_1.0' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into beta_house_1.0

huangzhiyong 6 lat temu
rodzic
commit
b45cf9c89f

+ 73 - 27
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/dfs/FastDFSController.java

@ -20,12 +20,11 @@ import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.*;
import java.util.*;
/**
 *文件服务
 * 文件服务
 */
@RestController
@RequestMapping(HealthyHouseMapping.api_healthyHouse_common)
@ -39,16 +38,20 @@ public class FastDFSController extends EnvelopRestEndpoint {
    @Autowired
    private FileResourceService fileResourceService;
    @Value("${img.path}")
    private String img_path;
    /**
     * 文件上传 - 返回相关索引信息
     *
     * @param file
     * @param creator
     * @param objectId
     * @return
     */
    @PostMapping(value =HealthyHouseMapping.HealthyHouse.FastDFS.UPLOAD )
    @PostMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.UPLOAD)
    @ApiOperation(value = "文件上传", notes = "返回相关索引信息,以及HttpUrl下载连接")
    public ObjEnvelop<FileResource> upload (
    public ObjEnvelop<FileResource> upload(
            @ApiParam(name = "file", value = "文件", required = true)
            @RequestPart(value = "file") MultipartFile file,
            @ApiParam(name = "creator", value = "创建者", required = true)
@ -61,31 +64,34 @@ public class FastDFSController extends EnvelopRestEndpoint {
            fileExtension = "file";
        }
        //上传
        ObjectNode objectNode = fastDFSUtil.upload(file.getInputStream(), fileExtension, "svr-dfs");
        String groupName = objectNode.get(FastDFSUtil.GROUP_NAME).toString();
        String remoteFileName = objectNode.get(FastDFSUtil.REMOTE_FILE_NAME).toString();
        int fileSize = objectNode.get(FastDFSUtil.FILE_SIZE).asInt();
        String path = groupName.substring(1, groupName.length() - 1) + ":" + remoteFileName.substring(1, remoteFileName.length() - 1);
//需要随机生成一个uuid作为文件名,防止冲突
        String path = upload(file.getInputStream(), fileName);
//        ObjectNode objectNode = fastDFSUtil.upload(file.getInputStream(), fileExtension, "svr-dfs");
//        String groupName = objectNode.get(FastDFSUtil.GROUP_NAME).toString();
//        String remoteFileName = objectNode.get(FastDFSUtil.REMOTE_FILE_NAME).toString();
//        int fileSize = objectNode.get(FastDFSUtil.FILE_SIZE).asInt();
//        String path = groupName.substring(1, groupName.length() - 1) + ":" + remoteFileName.substring(1, remoteFileName.length() - 1);
        //路径存储到mysql数据库
        FileResource fileResource =new FileResource();
        FileResource fileResource = new FileResource();
        fileResource.setObjectId(objectId);
        fileResource.setStoragePath(path);
        fileResource.setFileSize(String.valueOf(fileSize));
//        fileResource.setFileSize(String.valueOf(fileSize));
        fileResource.setFileName(fileName);
        fileResource.setCreateUser(creator);
        fileResource=  fileResourceService.save(fileResource);
        path = groupName.substring(1, groupName.length() - 1) + "/" + remoteFileName.substring(1, remoteFileName.length() - 1);
        fileResource = fileResourceService.save(fileResource);
//        path = groupName.substring(1, groupName.length() - 1) + "/" + remoteFileName.substring(1, remoteFileName.length() - 1);
        fileResource.setStoragePath(path);
        return success(fileResource);
    }
    /**
     * 文件上传 - 返回相关索引信息,兼容旧接口
     *
     * @param jsonData
     * @return
     * @throws Exception
     */
    @PostMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.UPLOADJSON,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @PostMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.UPLOADJSON, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "文件上传", notes = "返回相关索引信息,以及HttpUrl下载连接(兼容旧接口)")
    public ObjEnvelop<FileResource> upload(
            @ApiParam(name = "jsonData", value = "文件资源", required = true)
@ -106,19 +112,20 @@ public class FastDFSController extends EnvelopRestEndpoint {
        String remoteFileName = objectNode.get(FastDFSUtil.REMOTE_FILE_NAME).toString();
        String path = groupName.substring(1, groupName.length() - 1) + ":" + remoteFileName.substring(1, remoteFileName.length() - 1);
        //路径存储到mysql数据库
        FileResource fileResource =new FileResource();
        FileResource fileResource = new FileResource();
        fileResource.setObjectId(paramMap.get("object"));
        fileResource.setStoragePath(path);
        fileResource.setFileSize(String.valueOf(fileSize));
        fileResource.setFileName(fileName);
        fileResource=  fileResourceService.save(fileResource);
         path = groupName.substring(1, groupName.length() - 1) + "/" + remoteFileName.substring(1, remoteFileName.length() - 1);
        fileResource.setStoragePath( path);
        fileResource = fileResourceService.save(fileResource);
        path = groupName.substring(1, groupName.length() - 1) + "/" + remoteFileName.substring(1, remoteFileName.length() - 1);
        fileResource.setStoragePath(path);
        return success(fileResource);
    }
    /**
     * 删除资源表对应关系,并且删除fastDfs相对应当文件
     *
     * @param id
     * @return
     * @throws Exception
@ -128,10 +135,10 @@ public class FastDFSController extends EnvelopRestEndpoint {
    public Envelop deleteById(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) throws Exception {
      FileResource fileResource=  fileResourceService.findById(id);
      if(null==fileResource){
          return failed("无相关文件资源");
      }
        FileResource fileResource = fileResourceService.findById(id);
        if (null == fileResource) {
            return failed("无相关文件资源");
        }
        String storagePath = fileResource.getStoragePath();
        String groupName = storagePath.split(":")[0];
@ -144,6 +151,7 @@ public class FastDFSController extends EnvelopRestEndpoint {
    /**
     * 删除资源表对应关系,并且删除fastDfs相对应当文件
     *
     * @param path
     * @return
     * @throws Exception
@ -158,10 +166,10 @@ public class FastDFSController extends EnvelopRestEndpoint {
        }
        // 删除文件
        fastDFSUtil.delete(path.split(":")[0], path.split(":")[1]);
        List<FileResource> fileResourceList=  fileResourceService.findByField("storagePath",path);
        List<FileResource> fileResourceList = fileResourceService.findByField("storagePath", path);
        StringBuilder ids = new StringBuilder();
        for (FileResource fileResource : fileResourceList) {
            String id= fileResource.getId();
            String id = fileResource.getId();
            ids.append(id + ",");
        }
        // 删除mysql数据
@ -171,16 +179,17 @@ public class FastDFSController extends EnvelopRestEndpoint {
    /**
     * 下载文件
     *
     * @param id
     * @return
     * @throws Exception
     */
    @GetMapping(value = HealthyHouseMapping.HealthyHouse.FastDFS.DOWNLOAD_BY_ID)
    @ApiOperation(value = "下载文件(byId)")
    public Envelop downloadById (
    public Envelop downloadById(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) throws Exception {
        FileResource fileResource=  fileResourceService.findById(id);
        FileResource fileResource = fileResourceService.findById(id);
        String storagePath = fileResource.getStoragePath();
        String groupName = storagePath.split(":")[0];
        String remoteFileName = storagePath.split(":")[1];
@ -194,6 +203,7 @@ public class FastDFSController extends EnvelopRestEndpoint {
    /**
     * 下载文件
     *
     * @param path
     * @return
     * @throws Exception
@ -217,4 +227,40 @@ public class FastDFSController extends EnvelopRestEndpoint {
    }
    public String upload(InputStream inputStream, String fileName) {
        OutputStream outputStream = null;
        String path1 = img_path + "\\" + fileName;
        try {
            //文件源
            File files = new File(img_path);
            if (!files.exists()) {//判断文件夹是否创建,没有创建则创建新文件夹
                files.mkdirs();
            }
            File toFile = new File(path1);
            outputStream = new FileOutputStream(toFile);
            byte[] fulsh = new byte[1024];
            int len;
            while ((len = inputStream.read(fulsh)) != -1) {
                outputStream.write(fulsh, 0, len);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (null != outputStream) {
                    outputStream.close();
                }
                if (null != inputStream) {
                    inputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return path1;
    }
}

+ 25 - 25
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/user/FacilityUsedRecordController.java

@ -129,31 +129,31 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint {
            @RequestParam(value = "nearbyFlag") boolean nearbyFlag) throws Exception {
        List<FacilityUsedRecord> facilityUsedRecordList = new ArrayList<>();
        FacilityUsedRecord facilityUsedRecord;
        if (StringUtils.isNotEmpty(userId)) {
            if (nearbyFlag) {
                if (StringUtils.isNotEmpty(filters)) {
                    filters = "deleteFlag=0;status=0;" + "name?" + filters + " g1;cityName?" + filters + " g1;countyName?" + filters + " g1;street?" + filters + " g1;address?" + filters + " g1;";
                } else {
                    filters = "deleteFlag=0;status=0;";
                }
                //获取所有设施,并根据设施编码及用户id查找使用次数
                List<Facility> facilityList = facilityService.search(filters);
                for (Facility facility : facilityList) {
                    facilityUsedRecord = new FacilityUsedRecord();
                    facilityUsedRecord.setFacilitieCode(facility.getCode());
                    facilityUsedRecord.setFacilitieName(facility.getName());
                    facilityUsedRecord.setFacilitieLongitude(facility.getLongitude());
                    facilityUsedRecord.setFacilitieLatitudes(facility.getLatitude());
                    facilityUsedRecord.setFacilitieAddr(facility.getAddress());
                    facilityUsedRecord.setCreateUser(userId);
                    facilityUsedRecord.setUserId(userId);
                    facilityUsedRecord.setFacilitieId(facility.getId());
                    facilityUsedRecord.setFacilitieStatus(facility.getStatus());
                    long count = facilityUsedRecordService.countByFacilitieCodeAndUserId(facility.getCode(), userId);
                    facilityUsedRecord.setNum((int) count);
                    facilityUsedRecordList.add(facilityUsedRecord);
                }
        if (nearbyFlag) {
            if (StringUtils.isNotEmpty(filters)) {
                filters = "deleteFlag=0;status=0;" + "name?" + filters + " g1;cityName?" + filters + " g1;countyName?" + filters + " g1;street?" + filters + " g1;address?" + filters + " g1;";
            } else {
                filters = "deleteFlag=0;status=0;";
            }
            //获取所有设施,并根据设施编码及用户id查找使用次数
            List<Facility> facilityList = facilityService.search(filters);
            for (Facility facility : facilityList) {
                facilityUsedRecord = new FacilityUsedRecord();
                facilityUsedRecord.setFacilitieCode(facility.getCode());
                facilityUsedRecord.setFacilitieName(facility.getName());
                facilityUsedRecord.setFacilitieLongitude(facility.getLongitude());
                facilityUsedRecord.setFacilitieLatitudes(facility.getLatitude());
                facilityUsedRecord.setFacilitieAddr(facility.getAddress());
                facilityUsedRecord.setCreateUser(userId);
                facilityUsedRecord.setUserId(userId);
                facilityUsedRecord.setFacilitieId(facility.getId());
                facilityUsedRecord.setFacilitieStatus(facility.getStatus());
                long count = facilityUsedRecordService.countByFacilitieCodeAndUserId(facility.getCode(), userId);
                facilityUsedRecord.setNum((int) count);
                facilityUsedRecordList.add(facilityUsedRecord);
            }
        } else {
            if (StringUtils.isNotEmpty(userId)) {
                //根据用户id,获取我的历史记录
                facilityUsedRecordList = facilityUsedRecordService.countDistinctByFacilitieCodeAndUserId(userId);
                for (FacilityUsedRecord facilityUsedRecord1 : facilityUsedRecordList) {
@ -177,7 +177,7 @@ public class FacilityUsedRecordController extends EnvelopRestEndpoint {
            @ApiParam(name = "facilitieCode", value = "设施id", defaultValue = "")
            @RequestParam(value = "facilitieCode", required = false) String facilitieCode) throws Exception {
        StringBuffer stringBuffer = new StringBuffer();
        long count=0;
        long count = 0;
        if (StringUtils.isNotEmpty(facilitieCode)) {
            stringBuffer.append("facilitieCode=" + facilitieCode);
        }

+ 1 - 0
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/user/FeedBackController.java

@ -148,6 +148,7 @@ public class FeedBackController extends EnvelopRestEndpoint {
            return failed("意见反馈不存在!", ObjEnvelop.class);
        }
        feedBack.setReadFlag(1);
        feedBack = feedBackService.save(feedBack);
        return success(feedBack);
    }

+ 2 - 0
svr/svr-healthy-house/src/main/resources/application.yml

@ -85,6 +85,8 @@ fastDFS:
# 短信发送地址
jw:
  smsUrl: http://svr-base:10020/sms_gateway/send
img:
  path: E:/tryfile/upload/img
---
spring: