diff --git a/api-admin/src/main/java/com/glxp/sale/admin/idc/service/FileService.java b/api-admin/src/main/java/com/glxp/sale/admin/idc/service/FileService.java index 41a4320..ed90143 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/idc/service/FileService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/idc/service/FileService.java @@ -12,5 +12,7 @@ import com.glxp.sale.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/api-admin/src/main/java/com/glxp/sale/admin/idc/service/impl/FileServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/idc/service/impl/FileServiceImpl.java index 11ce091..94af7ad 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/idc/service/impl/FileServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/idc/service/impl/FileServiceImpl.java @@ -19,8 +19,10 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.glxp.sale.admin.idc.dao.DbDao; import com.glxp.sale.admin.idc.service.FileService; +import com.glxp.sale.admin.idc.service.IdcService; import com.glxp.sale.admin.idc.utils.IDCUtils; import com.glxp.sale.admin.util.FileUtils; import com.glxp.sale.common.res.BaseResponse; @@ -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) { @@ -78,15 +82,15 @@ public class FileServiceImpl implements FileService { for(String str:strs) { if (!StringUtils.isEmpty(str) && FileUtils.isFileExist(filePath + filePathSlash + imagePath + str)) { files.add(filePath + filePathSlash + imagePath + str); - logger.info("relay--"+filePath + filePathSlash + imagePath + str); } else { isExists = false; } } if(!isExists) - return ResultVOUtils.error(9999,"文件不存在"); + return ResultVOUtils.error(9999,filePath + filePathSlash + imagePath + strs[0]); String result = relayFile(files,host); - if (IDCUtils.isJson(result)&&!result.contains(" 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; @@ -118,7 +135,6 @@ public class FileServiceImpl implements FileService { for (MultipartFile file : files) { String imageName = filePath + filePathSlash + imagePath + file.getOriginalFilename(); saveFiles.add(imageName); - logger.info("relay->>>"+imageName); IDCUtils.writeFile(file.getBytes(), filePath + filePathSlash + imagePath, file.getOriginalFilename()); } } catch (IOException e) { @@ -133,6 +149,7 @@ public class FileServiceImpl implements FileService { if(isRelay) { String result = relayFile(saveFiles,host); + logger.info(result); if (IDCUtils.isJson(result)&&!result.contains(" 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