diff --git a/src/main/java/com/glxp/api/idc/controller/FileController.java b/src/main/java/com/glxp/api/idc/controller/FileController.java index 97779ca10..92c9e2ebe 100644 --- a/src/main/java/com/glxp/api/idc/controller/FileController.java +++ b/src/main/java/com/glxp/api/idc/controller/FileController.java @@ -30,10 +30,21 @@ public class FileController { @RequestMapping(value = "/spssync/file/upload") @ResponseBody - public BaseResponse connect(HttpServletRequest request, @RequestBody Map params) { + public BaseResponse upload(HttpServletRequest request, @RequestBody Map params) { return fileService.fileUpload(request,params); } + @RequestMapping(value = "/spssync/file/download") + @ResponseBody + public BaseResponse download(HttpServletRequest request, @RequestBody Map params) { + return fileService.fileDownload(request,params); + } + + @RequestMapping(value = "/spssync/file/downloadFile") + @ResponseBody + public BaseResponse downloadFile(HttpServletRequest request, @RequestBody Map params) { + return fileService.downloadFile(request,params); + } @RequestMapping(value = "/spssync/file/uploadFile") public BaseResponse uploadFile(HttpServletRequest request, diff --git a/src/main/java/com/glxp/api/idc/service/FileService.java b/src/main/java/com/glxp/api/idc/service/FileService.java index 9a2fe8763..d02833345 100644 --- a/src/main/java/com/glxp/api/idc/service/FileService.java +++ b/src/main/java/com/glxp/api/idc/service/FileService.java @@ -12,5 +12,7 @@ import com.glxp.api.common.res.BaseResponse; /*文件服务*/ public interface FileService { BaseResponse fileUpload(HttpServletRequest request,Map params); + BaseResponse fileDownload(HttpServletRequest request,Map params); + BaseResponse downloadFile(HttpServletRequest request,Map params); BaseResponse receiveFile(HttpServletRequest request,String content,MultipartFile[] files); } diff --git a/src/main/java/com/glxp/api/idc/service/impl/FileServiceImpl.java b/src/main/java/com/glxp/api/idc/service/impl/FileServiceImpl.java index 709546d73..c47c57256 100644 --- a/src/main/java/com/glxp/api/idc/service/impl/FileServiceImpl.java +++ b/src/main/java/com/glxp/api/idc/service/impl/FileServiceImpl.java @@ -19,10 +19,12 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.dao.idc.DbDao; import com.glxp.api.idc.service.FileService; +import com.glxp.api.idc.service.IdcService; import com.glxp.api.idc.utils.IDCUtils; import com.glxp.api.util.FileUtils; @@ -47,6 +49,8 @@ public class FileServiceImpl implements FileService { @Resource private DbDao dbDao; + @Resource + private IdcService idcService; private String imagePath = "register/file/image2/"; @Override public BaseResponse fileUpload(HttpServletRequest request,Map params) { @@ -94,6 +98,19 @@ public class FileServiceImpl implements FileService { return ResultVOUtils.error(9999,"失败"); } + + + @Override + public BaseResponse fileDownload(HttpServletRequest request,Map params) { + Map map = dbDao.get("select * from sync_data_set limit 1"); + if(map!=null&&map.get("syncIp")!=null) { + String result = IDCUtils.post(map.get("syncIp").toString()+"/spssync/file/downloadFile", params); + } else { + return ResultVOUtils.error(9999,"中继服务地址未配置,请至同步设置中进行配置"); + } + return ResultVOUtils.success(null); + } + @Override public BaseResponse receiveFile(HttpServletRequest request,String content,MultipartFile[] files) { boolean isRelay = false; @@ -198,4 +215,34 @@ public class FileServiceImpl implements FileService { return result; } + + @Override + public BaseResponse downloadFile(HttpServletRequest request,Map params) { + String host = ""; + try { + Map config =dbDao.get("select paramValue from system_param_config where paramKey='upper_server_ip'"); + if(config!=null&&config.get("paramValue")!=null) + host = config.get("paramValue").toString(); + } catch (Exception ex) { + + } + if(!StringUtils.isEmpty(host)) { + String result = IDCUtils.post(host+"/spssync/file/downloadFile", params); + JSONObject object = JSON.parseObject(result); + boolean success = false; + if(object.getInteger("code")==20000) { + String[] files = params.get("fileName").toString().split(","); + success = true; + for(String str:files) { + if(!idcService.signleDownloadFile(host, str)) + success = false; + } + } + if(!success) + ResultVOUtils.error(9999,"失败"); + + } + return ResultVOUtils.success(null); + } + } \ No newline at end of file