From 8718bece102c3f8da291e680c09a2e8af2c4abe8 Mon Sep 17 00:00:00 2001 From: 18792927508 <1322446236@qq.com> Date: Fri, 19 Apr 2024 14:19:41 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=BE=E6=94=B6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mscase/impl/MsSignSealServiceImpl.java | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsSignSealServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsSignSealServiceImpl.java index 17723a6..41a432a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsSignSealServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsSignSealServiceImpl.java @@ -431,9 +431,9 @@ public class MsSignSealServiceImpl implements MsSignSealService { return AjaxResult.error("未找到案件相关人员"); } // 申请操作人 - Optional applicantAffiliateOpt = affiliates.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(1) || affiliate.getRoleType().equals(2))).findFirst(); + Optional applicantAffiliateOpt = affiliates.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && (affiliate.getRoleType().equals(1) || affiliate.getRoleType().equals(2))).findFirst(); // 被申请操作人 - Optional resAffiliateOpt = affiliates.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && StrUtil.isNotEmpty(affiliate.getPhone()) && (affiliate.getRoleType().equals(3) || affiliate.getRoleType().equals(4))).findFirst(); + Optional resAffiliateOpt = affiliates.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && (affiliate.getRoleType().equals(3) || affiliate.getRoleType().equals(4))).findFirst(); if (!applicantAffiliateOpt.isPresent() || !resAffiliateOpt.isPresent()) { throw new ServiceException("未找到案件操作人员"); } @@ -459,20 +459,6 @@ public class MsSignSealServiceImpl implements MsSignSealService { sendEmail(caseApplication1, sysUser, "调解系统文件签收", content); } }, executor); - CompletableFuture.runAsync(() -> { - SysUser sysUser = sysUserMapper.selectUserById(resAffiliateOpt.get().getUserId()); - MeetingInfoVO meetingInfoVO = MeetingInfoVO.builder().userId(sysUser.getUserId()).userName(sysUser.getUserName()).caseId(caseApplication1.getId()).systemType("TJ").build(); - String roomUuid = shortMessageService.buildMeetingInfoRecord(meetingInfoVO); - if (StrUtil.isNotEmpty(sysUser.getPhonenumber())) { - SmsUtils.sendSms(caseApplication1,"2126313", sysUser.getPhonenumber(),new String[]{sysUser.getNickName(),caseApplication1.getCaseNum(),"authId="+ roomUuid}); - }else if(StrUtil.isNotEmpty(sysUser.getEmail())){ - String content = "尊敬的"+sysUser.getNickName()+"用户,您的" + caseApplication1.getCaseNum() + "文件已发送至邮箱,请点击链接进行确认签收https://txroom.xayunmei.com/#/sign?" + "authId="+ roomUuid + ",如非本人操作,请忽略本短信"; - emailOutUtil.sendMessage(sysUser.getEmail(), "调解系统文件签收", content, null, null); - sendEmail(caseApplication1, sysUser, "调解系统文件签收", content); - } - }, executor); - - CaseLogUtils.insertCaseLog(caseApplication1.getId(), currentFlow.getNodeId(), currentFlow.getCaseStatusName(),""); } @@ -496,6 +482,7 @@ public class MsSignSealServiceImpl implements MsSignSealService { sendMailRecord.setCreateTime(new Date()); sendMailRecord.setMailSubject(subject); sendMailRecord.setMailFromAddress(emailFrom); + sendMailRecord.setCaseNum(application.getCaseNum()); if (emailFlag) { sendMailRecord.setSendStatus(1); } else { @@ -529,7 +516,12 @@ public class MsSignSealServiceImpl implements MsSignSealService { if(CollectionUtil.isEmpty(msCaseAffiliates)){ return AjaxResult.error("未找到案件相关人员"); } - + // 被申请操作人 + Optional resAffiliateOpt = msCaseAffiliates.stream().filter(affiliate -> affiliate.getOperatorFlag() == 1 && (affiliate.getRoleType().equals(3) || affiliate.getRoleType().equals(4))).findFirst(); + ExecutorService executor = ThreadUtil.createThreadPool(); + if(!resAffiliateOpt.isPresent()){ + return AjaxResult.error("案件相关人员不完整"); + } for (MsCaseAffiliate affiliate : msCaseAffiliates) { // 申请人签收,根据流程id查找下一个流程节点 if(affiliate.getUserId()!=null @@ -540,6 +532,21 @@ public class MsSignSealServiceImpl implements MsSignSealService { caseApplicationselect.setCaseStatusName(nextFlow.getCaseStatusName()); caseApplicationMapper.updateByPrimaryKeySelective(caseApplicationselect); CaseLogUtils.insertCaseLog(caseApplicationselect.getId(), currentFlow.getNodeId(), currentFlow.getCaseStatusName(), null); + // 发送被申请人签收短信 + CompletableFuture.runAsync(() -> { + MsCaseAffiliate caseAffiliate = resAffiliateOpt.get(); + SysUser sysUser = sysUserMapper.selectUserById(caseAffiliate.getUserId()); + MeetingInfoVO meetingInfoVO = MeetingInfoVO.builder().userId(sysUser.getUserId()).userName(sysUser.getUserName()).caseId(caseApplicationselect.getId()).systemType("TJ").build(); + String roomUuid = shortMessageService.buildMeetingInfoRecord(meetingInfoVO); + if (StrUtil.isNotEmpty(sysUser.getPhonenumber())) { + SmsUtils.sendSms(caseApplicationselect, "2126313", sysUser.getPhonenumber(), new String[]{sysUser.getNickName(), caseApplicationselect.getCaseNum(), "authId=" + roomUuid}); + } else if (StrUtil.isNotEmpty(sysUser.getEmail())) { + String content = "尊敬的" + sysUser.getNickName() + "用户,您的" + caseApplicationselect.getCaseNum() + "文件已发送至邮箱,请点击链接进行确认签收https://txroom.xayunmei.com/#/sign?" + "authId=" + roomUuid + ",如非本人操作,请忽略本短信"; + emailOutUtil.sendMessage(sysUser.getEmail(), "调解系统文件签收", content, null, null); + sendEmail(caseApplicationselect, sysUser, "调解系统文件签收", content); + } + }, executor); + break; } // 被申请人签收 @@ -558,6 +565,7 @@ public class MsSignSealServiceImpl implements MsSignSealService { if(StrUtil.isEmpty(caseApplicationselect.getCaseSource())) { applicationService.pushStatusToBM(caseApplicationselect, PushCaseStatusEnum.SUCCESS); } + break; } } @@ -1247,11 +1255,13 @@ public class MsSignSealServiceImpl implements MsSignSealService { } SendMailRecord sendMailRecord = new SendMailRecord(); sendMailRecord.setCaseId(caseApplication.getId()); + sendMailRecord.setCaseNum(caseApplication.getCaseNum()); sendMailRecord.setMailAddress(email); sendMailRecord.setMailContent("您好,审核后的调解书在附件中请查阅"); sendMailRecord.setMailName("签署后的调解书"); sendMailRecord.setSendTime(new Date()); sendMailRecord.setMailSubject("签署后的调解书"); + sendMailRecord.setMailFromAddress(emailFrom); sendMailRecord.setFileIds(fileId!=null?fileId.toString():null); // sendMailRecord.setCreateBy(SecurityUtils.getUsername()); sendMailRecord.setCreateTime(new Date()); -- 2.54.0