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