From 8c13eebe691e5f25aa10fd6df6789f2e856a23da Mon Sep 17 00:00:00 2001 From: xusd <330628789@qq.com> Date: Fri, 04 Jul 2025 18:18:00 +0800 Subject: [PATCH] Merge branch 'feature/login_test-wjz' into feature/login_test --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java | 30 +++++++++++++++++++++++------- dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java | 2 +- dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java | 2 +- dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/SaveEventFeedBackVo.java | 2 +- dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridEventService.java | 16 ++++++++++++---- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/vo/SaveEventFeedBackVo.java | 2 +- 6 files changed, 39 insertions(+), 15 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/vo/SaveEventFeedBackVo.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/vo/SaveEventFeedBackVo.java index cc2861b..85cf099 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/vo/SaveEventFeedBackVo.java +++ b/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; /** * 反馈用户部门名称 (必填) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java index e54301e..9388a67 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java +++ b/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); diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java index 6903a68..8960b38 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java +++ b/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 diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java index 7e5f89f..bbe9a53 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java @@ -572,7 +572,7 @@ } /** - * 办理反馈信息 + * 同步办理反馈信息 * * @param vo 同步办理反馈信息的入参 * @return diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/SaveEventFeedBackVo.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/SaveEventFeedBackVo.java index 838280f..a25bf34 100644 --- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/SaveEventFeedBackVo.java +++ b/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; /** * 反馈用户部门名称 (必填) diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridEventService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridEventService.java index f84c75b..69b1040 100644 --- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridEventService.java +++ b/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); -- Gitblit v1.8.0