From aaddd034c256dd37c9f5c0b9971b07b1630d46fa Mon Sep 17 00:00:00 2001 From: 文锦钊 <10491931+wen-jinzhao@user.noreply.gitee.com> Date: Fri, 04 Jul 2025 18:10:14 +0800 Subject: [PATCH] feature:对接纠纷办理反馈信息-1.0版本完成 --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java | 30 +++++++++++++++++++++++------- 1 files changed, 23 insertions(+), 7 deletions(-) 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); -- Gitblit v1.8.0