Bladeren bron

短信邮件完善

18792927508 2 jaren geleden
bovenliggende
commit
3f55cee7e3

+ 7
- 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/mscase/MsVideoConferenceController.java Bestand weergeven

175
         }
175
         }
176
         return success();
176
         return success();
177
     }
177
     }
178
+
179
+    /**
180
+     * 腾讯云短信回调
181
+     * @param body
182
+     * @param request
183
+     * @return
184
+     */
178
     @Anonymous
185
     @Anonymous
179
     @PostMapping("/smsRollBack")
186
     @PostMapping("/smsRollBack")
180
     public AjaxResult smsRollBack(   @RequestBody String body, HttpServletRequest request) {
187
     public AjaxResult smsRollBack(   @RequestBody String body, HttpServletRequest request) {

+ 9
- 7
ruoyi-admin/src/main/resources/application.yml Bestand weergeven

72
     host: 121.40.189.20
72
     host: 121.40.189.20
73
     # 端口,默认为6379
73
     # 端口,默认为6379
74
     port: 6389
74
     port: 6389
75
-    # 数据库索引,测试环境1,正式环境0
75
+    # TODO 数据库索引,测试环境1,正式环境0
76
     database: 1
76
     database: 1
77
     # 密码
77
     # 密码
78
     password:
78
     password:
131
   mapperLocations: classpath*:mapper/**/*Mapper.xml
131
   mapperLocations: classpath*:mapper/**/*Mapper.xml
132
   # 加载全局的配置文件
132
   # 加载全局的配置文件
133
   configLocation: classpath:mybatis/mybatis-config.xml
133
   configLocation: classpath:mybatis/mybatis-config.xml
134
-#  configuration:
135
-#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
134
+  configuration:
135
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
136
 # PageHelper分页插件
136
 # PageHelper分页插件
137
 pagehelper:
137
 pagehelper:
138
   helperDialect: mysql
138
   helperDialect: mysql
166
     alipay:
166
     alipay:
167
       appId: 2021003141676135
167
       appId: 2021003141676135
168
     callback:
168
     callback:
169
-      domain: http://121.40.189.20:9001/
169
+#      TODO
170
+      domain: http://121.40.189.20:7001/
170
       watch: true
171
       watch: true
171
       cycle: 10
172
       cycle: 10
172
 identityAuthentication:
173
 identityAuthentication:
187
   secretId: AKID3xfHgroY4MQHvLXUXMwIQL1UjmbBX1Tv
188
   secretId: AKID3xfHgroY4MQHvLXUXMwIQL1UjmbBX1Tv
188
   # 腾讯云密钥
189
   # 腾讯云密钥
189
   secretKey: INDrIXcT8YmomZBcsy0oNirnU0LTN4X7
190
   secretKey: INDrIXcT8YmomZBcsy0oNirnU0LTN4X7
190
-# 调解机构代码配置
191
+# TODO 调解机构代码配置
191
 organizeConfig:
192
 organizeConfig:
192
   # creditCode
193
   # creditCode
193
   creditCode: 910000870060480009
194
   creditCode: 910000870060480009
194
-#  引入仲裁系统url配置
195
+#  TODO 引入仲裁系统url配置
195
 arbitrateConfig:
196
 arbitrateConfig:
196
   url: http://121.40.189.20:9001/callArbitrateCaseApplication/generateCaseApplication
197
   url: http://121.40.189.20:9001/callArbitrateCaseApplication/generateCaseApplication
197
-# 回调通知
198
+  smsURL: http://121.40.189.20:9001/callArbitrateCaseApplication/sendSms
199
+# TODO 回调通知
198
 signSealCallbackConfig:
200
 signSealCallbackConfig:
199
   url: http://121.40.189.20:7001/mssignSeal/signSeaalCaseApplicaCallback
201
   url: http://121.40.189.20:7001/mssignSeal/signSeaalCaseApplicaCallback
200
 #  onlyOffice系统url配置
202
 #  onlyOffice系统url配置

+ 4
- 1
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/sendrecord/SendMailRecord.java Bestand weergeven

1
 package com.ruoyi.wisdomarbitrate.domain.dto.sendrecord;
1
 package com.ruoyi.wisdomarbitrate.domain.dto.sendrecord;
2
 
2
 
3
 import com.fasterxml.jackson.annotation.JsonFormat;
3
 import com.fasterxml.jackson.annotation.JsonFormat;
4
-import com.ruoyi.common.annotation.Excel;
5
 import com.ruoyi.common.core.domain.BaseEntity;
4
 import com.ruoyi.common.core.domain.BaseEntity;
5
+import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAttach;
6
 import lombok.Data;
6
 import lombok.Data;
7
 
7
 
8
 import java.util.Date;
8
 import java.util.Date;
9
+import java.util.List;
10
+
9
 @Data
11
 @Data
10
 public class SendMailRecord   extends BaseEntity {
12
 public class SendMailRecord   extends BaseEntity {
11
     private static final long serialVersionUID = 1L;
13
     private static final long serialVersionUID = 1L;
49
 
51
 
50
     /** 邮件发件人地址 */
52
     /** 邮件发件人地址 */
51
     private String mailFromAddress;
53
     private String mailFromAddress;
54
+    private List<MsCaseAttach> caseAttachList;
52
 
55
 
53
 
56
 
54
     public Integer getSendStatus() {
57
     public Integer getSendStatus() {

+ 7
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/mscase/MsCaseAttachMapper.java Bestand weergeven

50
      * @return
50
      * @return
51
      */
51
      */
52
     int countByfileName(@Param("annexName") String fileName,@Param("caseAppliId") Long caseAppliId);
52
     int countByfileName(@Param("annexName") String fileName,@Param("caseAppliId") Long caseAppliId);
53
+
54
+    /**
55
+     * 根据ids查询
56
+     * @param fileIds
57
+     * @return
58
+     */
59
+    List<MsCaseAttach> selectByIds(@Param("ids") List<String> fileIds);
53
 }
60
 }

+ 1
- 1
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/MsSignSealServiceImpl.java Bestand weergeven

1158
         sendMailRecord.setSendTime(new Date());
1158
         sendMailRecord.setSendTime(new Date());
1159
         sendMailRecord.setMailSubject("签署后的调解书");
1159
         sendMailRecord.setMailSubject("签署后的调解书");
1160
         sendMailRecord.setMailFromAddress(emailFrom);
1160
         sendMailRecord.setMailFromAddress(emailFrom);
1161
-        sendMailRecord.setFileIds(fileId != null ? fileId.toString() : null);
1161
+        sendMailRecord.setFileIds(fileId != null ? fileId.toString() : "");
1162
 //        sendMailRecord.setCreateBy(SecurityUtils.getUsername());
1162
 //        sendMailRecord.setCreateBy(SecurityUtils.getUsername());
1163
         sendMailRecord.setCreateTime(new Date());
1163
         sendMailRecord.setCreateTime(new Date());
1164
         sendMailRecord.setMailFromAddress(emailFrom);
1164
         sendMailRecord.setMailFromAddress(emailFrom);

+ 10
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/mscase/impl/VideoConferenceServiceImpl.java Bestand weergeven

3
 import cn.hutool.core.collection.CollectionUtil;
3
 import cn.hutool.core.collection.CollectionUtil;
4
 import cn.hutool.core.io.FileUtil;
4
 import cn.hutool.core.io.FileUtil;
5
 import cn.hutool.core.util.StrUtil;
5
 import cn.hutool.core.util.StrUtil;
6
+import cn.hutool.http.HttpRequest;
7
+import cn.hutool.http.HttpResponse;
6
 import cn.hutool.http.HttpUtil;
8
 import cn.hutool.http.HttpUtil;
7
 import cn.hutool.json.JSONArray;
9
 import cn.hutool.json.JSONArray;
8
 import cn.hutool.json.JSONUtil;
10
 import cn.hutool.json.JSONUtil;
108
     BeiMingInterfaceService beiMingInterfaceService;
110
     BeiMingInterfaceService beiMingInterfaceService;
109
     @Autowired
111
     @Autowired
110
     private SmsRecordMapper smsRecordMapper;
112
     private SmsRecordMapper smsRecordMapper;
113
+    // 仲裁短信回调
114
+    @Value("${arbitrateConfig.smsURL}")
115
+    private String smsURL;
111
 
116
 
112
     /**
117
     /**
113
         视频回调
118
         视频回调
173
                             smsSendRecord.setReason(description != null ? description.toString() : null);
178
                             smsSendRecord.setReason(description != null ? description.toString() : null);
174
                         }
179
                         }
175
                         smsRecordMapper.updateStatus(smsSendRecord);
180
                         smsRecordMapper.updateStatus(smsSendRecord);
181
+                    }else {
182
+                        // 查找仲裁系统,调用仲裁系统短信接口
183
+                        HttpResponse httpResponse = HttpRequest.post(smsURL)
184
+                                .body(JSONUtil.toJsonStr(jsonObject))
185
+                                .execute();
176
                     }
186
                     }
177
                 }
187
                 }
178
             }
188
             }

+ 38
- 4
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/impl/SendMailRecordServiceImpl.java Bestand weergeven

1
 package com.ruoyi.wisdomarbitrate.service.sendrecord.impl;
1
 package com.ruoyi.wisdomarbitrate.service.sendrecord.impl;
2
 
2
 
3
+import cn.hutool.core.collection.CollectionUtil;
4
+import cn.hutool.core.util.ObjectUtil;
5
+import cn.hutool.core.util.StrUtil;
3
 import com.ruoyi.common.core.domain.AjaxResult;
6
 import com.ruoyi.common.core.domain.AjaxResult;
4
 import com.ruoyi.common.utils.EmailOutUtil;
7
 import com.ruoyi.common.utils.EmailOutUtil;
5
 import com.ruoyi.system.domain.entity.shortmessage.MsSendMailHistoryRecord;
8
 import com.ruoyi.system.domain.entity.shortmessage.MsSendMailHistoryRecord;
14
 import org.springframework.stereotype.Service;
17
 import org.springframework.stereotype.Service;
15
 
18
 
16
 import java.io.File;
19
 import java.io.File;
17
-import java.util.Date;
18
-import java.util.HashMap;
19
-import java.util.List;
20
-import java.util.Map;
20
+import java.util.*;
21
+import java.util.function.Function;
22
+import java.util.stream.Collectors;
21
 
23
 
22
 @Service
24
 @Service
23
 public class SendMailRecordServiceImpl implements ISendMailRecordService {
25
 public class SendMailRecordServiceImpl implements ISendMailRecordService {
28
     @Override
30
     @Override
29
     public List<SendMailRecord> selectSendMailRecordList(SendMailRecord sendMailRecord) {
31
     public List<SendMailRecord> selectSendMailRecordList(SendMailRecord sendMailRecord) {
30
         List<SendMailRecord> records = sendMailRecordMapper.selectSendMailRecord(sendMailRecord);
32
         List<SendMailRecord> records = sendMailRecordMapper.selectSendMailRecord(sendMailRecord);
33
+        if(CollectionUtil.isNotEmpty(records)){
34
+            Map<Long, String> recordmap = records.stream().filter(record -> StrUtil.isNotEmpty(record.getFileIds())).collect(Collectors.toMap(SendMailRecord::getId, SendMailRecord::getFileIds, (k1, k2) -> k2));
35
+            List<String> fileIds = new ArrayList<>(recordmap.values());
36
+            if(CollectionUtil.isNotEmpty(fileIds)){
37
+             List<MsCaseAttach> caseAttaches=   msCaseAttachMapper.selectByIds(fileIds);
38
+             if(CollectionUtil.isNotEmpty(caseAttaches)){
39
+                 Map<Long, MsCaseAttach> attachMap = caseAttaches.stream().collect(Collectors.toMap(MsCaseAttach::getAnnexId, Function.identity(), (k1, k2) -> k2));
40
+                 for (SendMailRecord record : records) {
41
+                     List<MsCaseAttach> msCaseAttaches = new ArrayList<>();
42
+                     if(recordmap.containsKey(record.getId())){
43
+                         String fileIdStr = recordmap.get(record.getId());
44
+                         if(ObjectUtil.isNotNull(fileIdStr) ) {
45
+                             String[] splitFileId = fileIdStr.split(",");
46
+                             for (String fileId : splitFileId) {
47
+                                 if (ObjectUtil.isNotNull(fileId) && attachMap.containsKey(Long.parseLong(fileId))) {
48
+                                     msCaseAttaches.add(attachMap.get(Long.parseLong(fileId)));
49
+                                 }
50
+                             }
51
+                             record.setCaseAttachList(msCaseAttaches);
52
+                         }
53
+                     }
54
+                 }
55
+             }
56
+            }
57
+        }
31
         return records;
58
         return records;
32
     }
59
     }
33
 
60
 
50
                 msSendMailHistoryRecord.setId(null);
77
                 msSendMailHistoryRecord.setId(null);
51
                 msSendMailHistoryRecordMapper.insertSelective(msSendMailHistoryRecord);
78
                 msSendMailHistoryRecordMapper.insertSelective(msSendMailHistoryRecord);
52
                 sendMailRecord.setUpdateTime(new Date());
79
                 sendMailRecord.setUpdateTime(new Date());
80
+                if(CollectionUtil.isNotEmpty(sendMailRecord.getCaseAttachList())){
81
+                    List<Long> fileIdList = sendMailRecord.getCaseAttachList().stream().map(MsCaseAttach::getAnnexId).collect(Collectors.toList());
82
+                    if(CollectionUtil.isNotEmpty(fileIdList)){
83
+                        String fileIdStr = StrUtil.join(",", fileIdList);
84
+                        sendMailRecord.setFileIds(fileIdStr);
85
+                    }
86
+                }
53
                 sendMailRecordMapper.updateSendMailRecord(sendMailRecord);
87
                 sendMailRecordMapper.updateSendMailRecord(sendMailRecord);
54
                 return AjaxResult.success("编辑成功");
88
                 return AjaxResult.success("编辑成功");
55
             } else {
89
             } else {

+ 8
- 1
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/mscase/MsCaseAttachMapper.xml Bestand weergeven

157
         </where>
157
         </where>
158
     </update>
158
     </update>
159
 
159
 
160
-
160
+    <select id="selectByIds" resultMap="CaseAttachResult">
161
+        select *
162
+        from ms_case_attach
163
+        where annex_id in
164
+        <foreach collection="ids" item="id" open="(" separator="," close=")">
165
+            #{id}
166
+        </foreach>
167
+    </select>
161
 </mapper>
168
 </mapper>

+ 2
- 2
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/sendrecord/SendMailRecordMapper.xml Bestand weergeven

21
 
21
 
22
     <select id="selectSendMailRecord" parameterType="com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SendMailRecord"
22
     <select id="selectSendMailRecord" parameterType="com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SendMailRecord"
23
             resultMap="SendMailRecordResult">
23
             resultMap="SendMailRecordResult">
24
-        SELECT s.id ,s.mail_name ,s.mail_content ,s.mail_address ,s.send_time ,s.case_id ,s.create_time ,s.create_by ,
25
-        s.update_by ,s.update_time , s.send_status ,s.file_ids ,s.mail_subject ,s.mail_from_address ,c.case_num
24
+        SELECT s.* ,c.case_num
26
         from ms_send_mail_record s left join ms_case_application c
25
         from ms_send_mail_record s left join ms_case_application c
27
         on s.case_id = c.id
26
         on s.case_id = c.id
28
         <where>
27
         <where>
67
         <if test="updateTime != null ">,update_time=#{updateTime}</if>
66
         <if test="updateTime != null ">,update_time=#{updateTime}</if>
68
         <if test="sendTime != null ">,send_time=#{sendTime}</if>
67
         <if test="sendTime != null ">,send_time=#{sendTime}</if>
69
         <if test="sendStatus != null ">,send_status=#{sendStatus}</if>
68
         <if test="sendStatus != null ">,send_status=#{sendStatus}</if>
69
+        <if test="fileIds != null  and fileIds != ''">,file_ids=#{fileIds}</if>
70
         where id = #{id}
70
         where id = #{id}
71
     </update>
71
     </update>
72
     <select id="querySendMailRecordById" resultMap="SendMailRecordResult">
72
     <select id="querySendMailRecordById" resultMap="SendMailRecordResult">