From 3f55cee7e33eb90a837bde8508e5a2ec0e2e4c12 Mon Sep 17 00:00:00 2001 From: 18792927508 <1322446236@qq.com> Date: Wed, 29 May 2024 13:41:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E9=82=AE=E4=BB=B6=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mscase/MsVideoConferenceController.java | 7 ++++ .../src/main/resources/application.yml | 16 +++---- .../domain/dto/sendrecord/SendMailRecord.java | 5 ++- .../mapper/mscase/MsCaseAttachMapper.java | 7 ++++ .../mscase/impl/MsSignSealServiceImpl.java | 2 +- .../impl/VideoConferenceServiceImpl.java | 10 +++++ .../impl/SendMailRecordServiceImpl.java | 42 +++++++++++++++++-- .../mscase/MsCaseAttachMapper.xml | 9 +++- .../sendrecord/SendMailRecordMapper.xml | 4 +- 9 files changed, 86 insertions(+), 16 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/mscase/MsVideoConferenceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/mscase/MsVideoConferenceController.java index 18168db..c85bcd8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/mscase/MsVideoConferenceController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/mscase/MsVideoConferenceController.java @@ -175,6 +175,13 @@ public class MsVideoConferenceController extends BaseController { } return success(); } + + /** + * 腾讯云短信回调 + * @param body + * @param request + * @return + */ @Anonymous @PostMapping("/smsRollBack") public AjaxResult smsRollBack( @RequestBody String body, HttpServletRequest request) { diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index ace8348..25abc34 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -72,7 +72,7 @@ spring: host: 121.40.189.20 # 端口,默认为6379 port: 6389 - # 数据库索引,测试环境1,正式环境0 + # TODO 数据库索引,测试环境1,正式环境0 database: 1 # 密码 password: @@ -131,8 +131,8 @@ mybatis: mapperLocations: classpath*:mapper/**/*Mapper.xml # 加载全局的配置文件 configLocation: classpath:mybatis/mybatis-config.xml -# configuration: -# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # PageHelper分页插件 pagehelper: helperDialect: mysql @@ -166,7 +166,8 @@ elegent: alipay: appId: 2021003141676135 callback: - domain: http://121.40.189.20:9001/ +# TODO + domain: http://121.40.189.20:7001/ watch: true cycle: 10 identityAuthentication: @@ -187,14 +188,15 @@ imConfig: secretId: AKID3xfHgroY4MQHvLXUXMwIQL1UjmbBX1Tv # 腾讯云密钥 secretKey: INDrIXcT8YmomZBcsy0oNirnU0LTN4X7 -# 调解机构代码配置 +# TODO 调解机构代码配置 organizeConfig: # creditCode creditCode: 910000870060480009 -# 引入仲裁系统url配置 +# TODO 引入仲裁系统url配置 arbitrateConfig: url: http://121.40.189.20:9001/callArbitrateCaseApplication/generateCaseApplication -# 回调通知 + smsURL: http://121.40.189.20:9001/callArbitrateCaseApplication/sendSms +# TODO 回调通知 signSealCallbackConfig: url: http://121.40.189.20:7001/mssignSeal/signSeaalCaseApplicaCallback # onlyOffice系统url配置 diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SendMailRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SendMailRecord.java index 3b3c9aa..01832af 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SendMailRecord.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SendMailRecord.java @@ -1,11 +1,13 @@ package com.ruoyi.wisdomarbitrate.domain.dto.sendrecord; import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAttach; import lombok.Data; import java.util.Date; +import java.util.List; + @Data public class SendMailRecord extends BaseEntity { private static final long serialVersionUID = 1L; @@ -49,6 +51,7 @@ public class SendMailRecord extends BaseEntity { /** 邮件发件人地址 */ private String mailFromAddress; + private List caseAttachList; public Integer getSendStatus() { diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/mscase/MsCaseAttachMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/mscase/MsCaseAttachMapper.java index a3a543c..7f215ca 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/mscase/MsCaseAttachMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/mscase/MsCaseAttachMapper.java @@ -50,4 +50,11 @@ public interface MsCaseAttachMapper { * @return */ int countByfileName(@Param("annexName") String fileName,@Param("caseAppliId") Long caseAppliId); + + /** + * 根据ids查询 + * @param fileIds + * @return + */ + List selectByIds(@Param("ids") List fileIds); } 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 5d437ae..e5a2801 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 @@ -1158,7 +1158,7 @@ public class MsSignSealServiceImpl implements MsSignSealService { sendMailRecord.setSendTime(new Date()); sendMailRecord.setMailSubject("签署后的调解书"); sendMailRecord.setMailFromAddress(emailFrom); - sendMailRecord.setFileIds(fileId != null ? fileId.toString() : null); + sendMailRecord.setFileIds(fileId != null ? fileId.toString() : ""); // sendMailRecord.setCreateBy(SecurityUtils.getUsername()); sendMailRecord.setCreateTime(new Date()); sendMailRecord.setMailFromAddress(emailFrom); diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/VideoConferenceServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/VideoConferenceServiceImpl.java index 297684c..c4e9b90 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/VideoConferenceServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/VideoConferenceServiceImpl.java @@ -3,6 +3,8 @@ package com.ruoyi.wisdomarbitrate.service.mscase.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONUtil; @@ -108,6 +110,9 @@ public class VideoConferenceServiceImpl implements VideoConferenceService { BeiMingInterfaceService beiMingInterfaceService; @Autowired private SmsRecordMapper smsRecordMapper; + // 仲裁短信回调 + @Value("${arbitrateConfig.smsURL}") + private String smsURL; /** 视频回调 @@ -173,6 +178,11 @@ public class VideoConferenceServiceImpl implements VideoConferenceService { smsSendRecord.setReason(description != null ? description.toString() : null); } smsRecordMapper.updateStatus(smsSendRecord); + }else { + // 查找仲裁系统,调用仲裁系统短信接口 + HttpResponse httpResponse = HttpRequest.post(smsURL) + .body(JSONUtil.toJsonStr(jsonObject)) + .execute(); } } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/impl/SendMailRecordServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/impl/SendMailRecordServiceImpl.java index da6676b..8fabb7b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/impl/SendMailRecordServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/impl/SendMailRecordServiceImpl.java @@ -1,5 +1,8 @@ package com.ruoyi.wisdomarbitrate.service.sendrecord.impl; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.EmailOutUtil; import com.ruoyi.system.domain.entity.shortmessage.MsSendMailHistoryRecord; @@ -14,10 +17,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.io.File; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; @Service public class SendMailRecordServiceImpl implements ISendMailRecordService { @@ -28,6 +30,31 @@ public class SendMailRecordServiceImpl implements ISendMailRecordService { @Override public List selectSendMailRecordList(SendMailRecord sendMailRecord) { List records = sendMailRecordMapper.selectSendMailRecord(sendMailRecord); + if(CollectionUtil.isNotEmpty(records)){ + Map recordmap = records.stream().filter(record -> StrUtil.isNotEmpty(record.getFileIds())).collect(Collectors.toMap(SendMailRecord::getId, SendMailRecord::getFileIds, (k1, k2) -> k2)); + List fileIds = new ArrayList<>(recordmap.values()); + if(CollectionUtil.isNotEmpty(fileIds)){ + List caseAttaches= msCaseAttachMapper.selectByIds(fileIds); + if(CollectionUtil.isNotEmpty(caseAttaches)){ + Map attachMap = caseAttaches.stream().collect(Collectors.toMap(MsCaseAttach::getAnnexId, Function.identity(), (k1, k2) -> k2)); + for (SendMailRecord record : records) { + List msCaseAttaches = new ArrayList<>(); + if(recordmap.containsKey(record.getId())){ + String fileIdStr = recordmap.get(record.getId()); + if(ObjectUtil.isNotNull(fileIdStr) ) { + String[] splitFileId = fileIdStr.split(","); + for (String fileId : splitFileId) { + if (ObjectUtil.isNotNull(fileId) && attachMap.containsKey(Long.parseLong(fileId))) { + msCaseAttaches.add(attachMap.get(Long.parseLong(fileId))); + } + } + record.setCaseAttachList(msCaseAttaches); + } + } + } + } + } + } return records; } @@ -50,6 +77,13 @@ public class SendMailRecordServiceImpl implements ISendMailRecordService { msSendMailHistoryRecord.setId(null); msSendMailHistoryRecordMapper.insertSelective(msSendMailHistoryRecord); sendMailRecord.setUpdateTime(new Date()); + if(CollectionUtil.isNotEmpty(sendMailRecord.getCaseAttachList())){ + List fileIdList = sendMailRecord.getCaseAttachList().stream().map(MsCaseAttach::getAnnexId).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(fileIdList)){ + String fileIdStr = StrUtil.join(",", fileIdList); + sendMailRecord.setFileIds(fileIdStr); + } + } sendMailRecordMapper.updateSendMailRecord(sendMailRecord); return AjaxResult.success("编辑成功"); } else { diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/mscase/MsCaseAttachMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/mscase/MsCaseAttachMapper.xml index 25f5bcb..0f50b90 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/mscase/MsCaseAttachMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/mscase/MsCaseAttachMapper.xml @@ -157,5 +157,12 @@ - + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/sendrecord/SendMailRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/sendrecord/SendMailRecordMapper.xml index db15513..1cb40b8 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/sendrecord/SendMailRecordMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/sendrecord/SendMailRecordMapper.xml @@ -21,8 +21,7 @@