| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | import javax.print.DocFlavor; |
| | | import java.util.*; |
| | | import java.util.concurrent.Callable; |
| | | import java.util.concurrent.CompletableFuture; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private CaseInfoService caseInfoService; |
| | | |
| | | |
| | | /** |
| | | * 更新对象 |
| | |
| | | * @param userId |
| | | */ |
| | | private void asyncSaveEventFeedback(CaseFeedback caseFeedback, String userId) { |
| | | log.info("同步办理反馈信息开始!!"); |
| | | String caseId = caseFeedback.getCaseId(); |
| | | CaseInfo caseInfo = caseInfoService.getById(caseId); |
| | | String canalSecond = caseInfo.getCanalSecond(); |
| | |
| | | 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); |
| | |
| | | |
| | | // 构建参数 |
| | | SaveEventFeedBackVo saveEventFeedBackVo = new SaveEventFeedBackVo(); |
| | | saveEventFeedBackVo.setId(caseId); |
| | | saveEventFeedBackVo.setEvtId(evtId); |
| | | saveEventFeedBackVo.setId(caseFeedback.getId()); |
| | | saveEventFeedBackVo.setCode(code); |
| | | |
| | | // 先传递当前子系统的用户id |
| | | saveEventFeedBackVo.setAppUserId(userId); |
| | |
| | | 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); |