From 6659135780e718758417efde4c8c351c69e3755b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 11 十二月 2025 15:52:19 +0800
Subject: [PATCH] 代码提交
---
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java | 139 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 118 insertions(+), 21 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index 70fcd3b..25b502e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -1,6 +1,8 @@
package com.ruoyi.web.component;
import com.alibaba.fastjson2.JSONObject;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -15,6 +17,7 @@
import com.ruoyi.common.utils.RSAPublicKeyExample;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.http.HttpUtils;
+import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.common.LSHospTokenUtil;
import com.smartor.domain.*;
@@ -79,7 +82,7 @@
private RedisCache redisCache;
@Autowired
- private ServiceTaskMapper svyTaskMapper;
+ private ServiceTaskMapper serviceTaskMapper;
@Autowired
private ServiceSubtaskMapper serviceSubtaskMapper;
@@ -143,7 +146,7 @@
if (commonTaskcallMQ.getUpdateSendstate() == null || commonTaskcallMQ.getUpdateSendstate() == 1) {
serviceTask.setSendState(5L);
serviceTask.setFail(1L);
- svyTaskMapper.updateServiceTask(serviceTask);
+ serviceTaskMapper.updateServiceTask(serviceTask);
}
} catch (Exception e) {
Integer integer = redisCache.getCacheObject(commonTaskcallMQ.getTaskid().toString());
@@ -152,7 +155,7 @@
ServiceTask serviceTask = new ServiceTask();
serviceTask.setTaskid(Long.valueOf(commonTaskcallMQ.getTaskid().toString()));
serviceTask.setFail(0L);
- svyTaskMapper.updateServiceTask(serviceTask);
+ serviceTaskMapper.updateServiceTask(serviceTask);
//灏嗘秷鎭粠闃熷垪涓垹闄�
} else if (integer == null) {
redisCache.setCacheObject(commonTaskcallMQ.getTaskid().toString(), 1, 120, TimeUnit.MINUTES);
@@ -355,8 +358,9 @@
}
} else if (heLibrary.getHetype().equals("2")) {
//閫氱煡
+ String sc = getSC(serviceSubtask, heLibrary.getPreachcontent());
sendMagParam.setPhone(serviceSubtask.getPhone());
- sendMagParam.setContent(heLibrary.getPreachcontent());
+ sendMagParam.setContent(sc);
}
}
@@ -367,28 +371,39 @@
Map<String, String> req = new HashMap<>();
req.put("phone", sendMagParam.getPhone());
req.put("content", sendMagParam.getContent());
+ log.info("content杩斿洖鍊肩殑鍐呭鏄細{}", sendMagParam.getContent());
s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
} else if (active.equals("ls")) {
- String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
- log.info("-------00token.360鐨刄RL涓猴細{}", url);
+// String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
+// log.info("-------00token.360鐨刄RL涓猴細{}", url);
+
//涓芥按鐨勭煭淇″彂閫佹柟寮�
- Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
- log.info("-----------map鐨勫�间负锛歿}", map);
- String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(), url);
- log.info("-----------token鐨勫�间负锛歿}", token);
- if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) {
+ SysConfig config = new SysConfig();
+ config.setConfigKey("ls.msg.info");
+ config.setOrgid(serviceSubtask.getOrgid());
+ List<SysConfig> sysConfigs = configService.selectConfigList(config);
+ Map<String, String> msgInfo = new HashMap<>();
+ if (CollectionUtils.isNotEmpty(sysConfigs)) {
+ String configValue = sysConfigs.get(0).getConfigValue();
+ ObjectMapper objectMapper = new ObjectMapper();
+ if (StringUtils.isNotEmpty(configValue)) {
+ msgInfo = objectMapper.readValue(configValue, Map.class);
+ }
+ }
+ log.info("-----------map鐨勫�间负锛歿}", msgInfo);
+
+ if (ObjectUtils.isNotEmpty(msgInfo) && StringUtils.isEmpty(msgInfo.get("address"))) {
serviceSubtask.setCurrentPreachform(sendPreachform);
serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
setFailPreachForm(serviceSubtask, descByCode, "鐭俊鍙戦�佸け璐�,璇ユ満鏋勬病鏈夐厤缃煭淇″湴鍧�", "5");
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
continue;
}
- log.info("---------mq涓芥按鐭俊鍙戦�佸叆鍙俛ddress锛歿}, sendMagParam:{}, orgid:{}-------", map.get("address"), sendMagParam, serviceSubtask.getOrgid());
- String dxCode = getDXCode(map.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()), token);
- log.info("---------涓芥按鐭俊鍙戦�佺粨鏋滐細{}-------", dxCode);
+
+ String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(), msgInfo.get("tokenUrl"));
+ String dxCode = getDXCode(msgInfo.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), msgInfo.get("sendPersonId"), msgInfo.get("sendPersonName"), MsgLSEnum.getHeaderByCode(msgInfo), token);
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class);
- log.info("---------涓芥按鐭俊鍙戦�佺粨鏋�--textParam鐨勫�间负锛歿}-------", textParam);
String code = textParam.get("Code").toString();
if (code.equals("0")) {
s = "true";
@@ -397,13 +412,12 @@
throw new BaseException("鐭俊鍙戦�佸け璐�");
}
} else if (active.equals("sltd")) {
- log.info("-------杩涙潵浜嗕笉锛燂紵");
//鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
- String data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+ String data = MessageSend.sendMsg(sendMagParam.getContent(), "6", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
if (StringUtils.isNotEmpty(data) && data.contains("result=0")) {
s = "true";
} else {
- setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
+ setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�: " + data, "5");
throw new BaseException("鐭俊鍙戦�佸け璐�");
}
}
@@ -493,6 +507,24 @@
serviceOutPath.setRadix(format);
serviceOutPath.setUpdateTime(new Date());
iServiceOutPathService.updateServiceOutPath(serviceOutPath);
+
+ //闇�瑕侀�氳繃妯℃澘ID鍘诲垽鏂鍙戠殑鍐呭鏄鏁欒繕鏄�氱煡
+// HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
+// if (heLibrary.getHetype().equals("1")) {
+// sendMagParam.setPhone(serviceSubtask.getPhone());
+// sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format);
+// if (active.equals("ls") || active.equals("sltd")) {
+// sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+// } else if (active.equals("xh")) {
+// sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+// }
+// } else if (heLibrary.getHetype().equals("2")) {
+// //閫氱煡
+// String sc = getSC(serviceSubtask, heLibrary.getPreachcontent());
+// sendMagParam.setPhone(serviceSubtask.getPhone());
+// sendMagParam.setContent(sc);
+// }
+
url = ip + ":" + req_path + "/xj?p=" + format;
}
if (StringUtils.isEmpty(patArchive.getPatidHis())) {
@@ -581,6 +613,32 @@
}
+ private String getSC(ServiceSubtask serviceSubtask, String scriptContent) {
+ Map<String, Map<String, String>> param = getParam(serviceSubtask.getTaskid());
+ for (Map<String, String> map : param.values()) {
+ for (String key : map.keySet()) {
+ scriptContent = scriptContent.replace(key, org.apache.commons.lang3.StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "");
+ }
+ }
+ scriptContent = scriptContent.replace("${name}", org.apache.commons.lang3.StringUtils.isNotEmpty(serviceSubtask.getSendname()) ? serviceSubtask.getSendname() : "");
+ scriptContent = scriptContent.replace("${dzz}", org.apache.commons.lang3.StringUtils.isNotEmpty(serviceSubtask.getAddr()) ? serviceSubtask.getAddr() : "");
+ scriptContent = scriptContent.replace("${phone}", org.apache.commons.lang3.StringUtils.isNotEmpty(serviceSubtask.getTelcode()) ? serviceSubtask.getTelcode() : "");
+
+ return scriptContent;
+ }
+
+ private Map<String, Map<String, String>> getParam(Long taskId) {
+ ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(taskId);
+ ObjectMapper objectMapper = new ObjectMapper();
+ Map<String, Map<String, String>> serviceTaskMap = null;
+ try {
+ serviceTaskMap = objectMapper.readValue(serviceTask.getTextParam(), Map.class);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return serviceTaskMap;
+ }
+
private Date getNextVisitTime(Long subid, Long taskid, Date visitTime, String currentPreachform) {
ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
serviceSubtaskPreachform.setSubid(subid);
@@ -604,6 +662,16 @@
private String getSendPreachform(ServiceSubtaskPreachform serviceSubtaskPreachform, ServiceSubtask serviceSubtask) {
log.info("-----getSendPreachform鐨剆erviceSubtaskPreachform鍏ュ弬锛歿},------serviceSubtask:{}", serviceSubtaskPreachform, serviceSubtask);
List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+ if (CollectionUtils.isEmpty(serviceSubtaskPreachforms)) {
+ //濡傛灉serviceSubtaskPreachforms涓虹┖鐨勮瘽锛屽垯闇�瑕佽繘琛屾柊澧炰竴涓�
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = addServiceSubtaskPreachform(serviceSubtask, "1");
+ if (CollectionUtils.isEmpty(serviceSubtaskPreachformList)) {
+ log.error("鍙戦�佹柟寮忓け璐ヤ簡serviceSubtask鐨勫叆鍙備负锛歿}", serviceSubtask);
+ return null;
+ }
+ serviceSubtaskPreachforms = serviceSubtaskPreachformList;
+ }
+
// 鎯呭喌1锛歝urrentPreachform涓虹┖锛屽彇sort涓�1鐨刾reachform
if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
@@ -637,6 +705,35 @@
return null;
}
+ private List<ServiceSubtaskPreachform> addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
+ //灏唒reachformDesc鐨刯son瀵硅薄锛屾斁鍒發ist闆嗗悎涓�
+ ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+ String preachformDesc = serviceTask.getPreachformDesc();
+
+ List<ServiceSubtaskPreachform> sspl = null;
+ ObjectMapper objectMapper = new ObjectMapper();
+ if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachformDesc)) {
+ try {
+ sspl = objectMapper.readValue(preachformDesc, new TypeReference<List<ServiceSubtaskPreachform>>() {
+ });
+ } catch (JsonProcessingException e) {
+ log.error("mq--preachform杞琇ist<ServiceSubtaskPreachform>鎶ラ敊浜嗭細{}", e.getMessage());
+ }
+ for (ServiceSubtaskPreachform serviceSubtaskPreachform : sspl) {
+ serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
+ serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+ //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥�
+ serviceSubtaskPreachform.setSendstate("1");
+ if (StringUtils.isNotEmpty(sendstate)) serviceSubtaskPreachform.setSendstate(sendstate);
+
+ serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
+ serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
+ }
+
+ }
+
+ return sspl;
+ }
/**
* @param serviceSubtask
@@ -674,8 +771,9 @@
serviceSubtaskPreachform.setPreachform(preachform);
//1:鏈彂閫佺姸鎬�
serviceSubtaskPreachform.setSendstate("1");
- log.error("---serviceSubtaskPreachform鍏ュ弬涓猴細{}", serviceSubtaskPreachform);
+ log.info("---serviceSubtaskPreachform鍏ュ弬涓猴細{}", serviceSubtaskPreachform);
List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+ log.info("---serviceSubtaskPreachform杩斿弬涓猴細{}", serviceSubtaskPreachforms);
//鐢佃瘽鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2锛屽洜涓猴紝鏁版嵁鍙兘鍗″湪闃熷垪閲屼簡(涔熸湁鍙兘娌℃湁鎷夊彇锛宻endstate=1,鎵�浠ュ鏋滄槸鐢佃瘽鐘舵�佸垽鏂璼erviceSubtaskPreachforms鏄笉鏄负绌�)
if (preachform.equals("3") && CollectionUtils.isEmpty(serviceSubtaskPreachforms)) {
serviceSubtaskPreachform.setSendstate("2");
@@ -814,14 +912,13 @@
String body = new Gson().toJson(map);
-// String result = HttpUtils.sendPost(address, body);
String result = null;
try {
result = OkHttpExample.sendPostRequest(address, body, token);
} catch (IOException e) {
e.printStackTrace();
}
- log.error("--------result鐨勫�间负锛歿}-----", result);
+ log.info("--------result鐨勫�间负锛歿}-----", result);
JSONObject jsonObject = JSONObject.parseObject(result);
String code = (String) jsonObject.toString();
--
Gitblit v1.9.3