dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/vo/SaveEventFeedBackVo.java
@@ -23,7 +23,7 @@ /** * 事件工单id (必填) */ private String evtId; private String code; /** * 反馈用户部门名称 (必填) dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
@@ -7,6 +7,7 @@ import cn.huge.base.common.utils.ObjectUtils; import cn.huge.base.common.utils.ThreadPoolUtils; import cn.huge.module.cases.consts.CaseTaskConsts; import cn.huge.module.cases.domain.dto.FileRelateDTO; import cn.huge.module.cases.domain.dto.MediatorDTO; import cn.huge.module.cases.domain.po.*; import cn.huge.module.cases.domain.vo.SaveEventFeedBackVo; @@ -18,6 +19,7 @@ import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.mediate.constant.CaseBaseConsts; import cn.huge.module.mediate.constant.CaseBaseConstsEnum; import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum; import cn.huge.module.sys.dto.FileIdInfoBaseDTO; import cn.huge.module.sys.dto.FileInfoBaseDTO; import cn.huge.module.sys.dto.FileTypeInfoBaseDTO; @@ -38,6 +40,7 @@ import javax.print.DocFlavor; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; @@ -83,6 +86,7 @@ @Autowired private CaseInfoService caseInfoService; /** * 更新对象 @@ -192,6 +196,7 @@ * @param userId */ private void asyncSaveEventFeedback(CaseFeedback caseFeedback, String userId) { log.info("同步办理反馈信息开始!!"); String caseId = caseFeedback.getCaseId(); CaseInfo caseInfo = caseInfoService.getById(caseId); String canalSecond = caseInfo.getCanalSecond(); @@ -207,11 +212,11 @@ return ; } // 使用单例设计的线程池来异步同步 ThreadPoolUtils.submit(()->{ // 使用completableFuture进行异步处理,使用jdk8的forkjoinPool线程池 CompletableFuture<Object> future = CompletableFuture.supplyAsync(() -> { log.info("异步保存办理反馈信息开始"); // 保存办理反馈信息后需要同步到大平台中 String evtId = caseInfo.getCaseRef(); String code = caseInfo.getCaseRef(); // 反馈用户信息 CtUserDTO ctUserDTO = custClient.clientGetUser(userId); @@ -227,8 +232,8 @@ // 构建参数 SaveEventFeedBackVo saveEventFeedBackVo = new SaveEventFeedBackVo(); saveEventFeedBackVo.setId(caseId); saveEventFeedBackVo.setEvtId(evtId); saveEventFeedBackVo.setId(caseFeedback.getId()); saveEventFeedBackVo.setCode(code); // 先传递当前子系统的用户id saveEventFeedBackVo.setAppUserId(userId); @@ -242,8 +247,19 @@ saveEventFeedBackVo.setHandleType(""); // 附件信息 List<FileInfoBaseDTO> fileInfoList = caseFeedback.getFileInfoList(); saveEventFeedBackVo.setFileInfoList(fileInfoList); // 先获取文件关联表信息 List<FileRelateDTO> fileRelateDTOS = sysClient.listFileRelateByOwnerId(caseFeedback.getId()); List<FileInfoBaseDTO> fileInfoBaseDTOS = new ArrayList<>(); if (CollectionUtils.isNotEmpty(fileRelateDTOS)){ fileInfoBaseDTOS = fileRelateDTOS.stream() .map(o->{ FileInfoBaseDTO fileInfoBaseDTO = new FileInfoBaseDTO(); fileInfoBaseDTO.setId(o.getFileId()); return fileInfoBaseDTO; }).collect(Collectors.toList()); } saveEventFeedBackVo.setFileInfoList(fileInfoBaseDTOS); // 发起同步 sysClient.saveEventFeedback(saveEventFeedBackVo); dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
@@ -208,7 +208,7 @@ ReturnBO getCaseRefByGenerateQrCode(@RequestBody GenerateQrCodeRequestVo generateQrCodeRequestVo); /** * 获取大平台事项编号 * 同步办理反馈信息 * * @param saveEventFeedBackVo * @return Object dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -572,7 +572,7 @@ } /** * 办理反馈信息 * 同步办理反馈信息 * * @param vo 同步办理反馈信息的入参 * @return dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/SaveEventFeedBackVo.java
@@ -23,7 +23,7 @@ /** * 事件工单id (必填) */ private String evtId; private String code; /** * 反馈用户部门名称 (必填) dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridEventService.java
@@ -9,6 +9,8 @@ import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.file.domain.po.FileInfo; import cn.huge.module.file.service.FileInfoService; import cn.huge.module.grid.dao.mapper.GridEventMapper; import cn.huge.module.grid.domain.dto.GridFileUploadDTO; import cn.huge.module.grid.domain.dto.GridOrgDTO; @@ -62,6 +64,9 @@ @Autowired private CustClientImpl custClient; @Autowired private FileInfoService fileInfoService; @Value("${grid.url:http://219.137.166.84:8061}") private String gridUrl; @@ -246,10 +251,13 @@ for (FileInfoBaseDTO fileInfoBaseDTO : fileInfoList) { try { GridFileUploadVo gridFileUploadVo = new GridFileUploadVo(); gridFileUploadVo.setFileName(fileInfoBaseDTO.getFileName()); gridFileUploadVo.setFilePath(fileInfoBaseDTO.getFullPath()); gridFileUploadVo.setFileSize(fileInfoBaseDTO.getSize() != null ? fileInfoBaseDTO.getSize().longValue() : 0L); gridFileUploadVo.setType(fileInfoBaseDTO.getSuffix()); // 通过id获取文件信息 FileInfo fileInfo = fileInfoService.getById(fileInfoBaseDTO.getId()); gridFileUploadVo.setFileName(fileInfo.getFileName()); gridFileUploadVo.setFilePath(fileInfo.getFullPath()); gridFileUploadVo.setFileSize(fileInfo.getSize() != null ? fileInfo.getSize().longValue() : 0L); gridFileUploadVo.setType(fileInfo.getSuffix()); R<GridFileUploadDTO> result = null; //上传附件信息 result = gridCaseDataService.uploadFileInfo(gridFileUploadVo);