From a1890ea179d410b48bcce4b10d55a7e0411bcd00 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 11 十一月 2025 18:23:30 +0800
Subject: [PATCH] 问题处理

---
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java |   65 +++++++++++++++++++++-----------
 1 files changed, 42 insertions(+), 23 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 12e4ad9..37030a9 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
@@ -96,9 +96,6 @@
     @Value("${xhsmsPath}")
     private String xhsmsPath;
 
-    @Value("${visitHosp}")
-    private Integer visitHosp;
-
     @Value("${server.port}")
     private String port;
 
@@ -141,9 +138,13 @@
             //灏嗙姸鎬佹敼鎴愬畬鎴�
             ServiceTask serviceTask = new ServiceTask();
             serviceTask.setTaskid(Long.valueOf(commonTaskcallMQ.getTaskid()));
-            serviceTask.setSendState(5L);
-            serviceTask.setFail(1L);
-            svyTaskMapper.updateServiceTask(serviceTask);
+
+            //鍦ㄩ棶鍗蜂腑锛岄�変腑鏌愪釜閫夐」瑕佽繘琛屾湇鍔¤ˉ鍋挎椂锛屽彧鏄�熺敤璇ユ湇鍔$殑澶栧3锛屼笉瀵硅鏈嶅姟鏈変换鍔″奖鍝�
+            if (commonTaskcallMQ.getUpdateSendstate() == null || commonTaskcallMQ.getUpdateSendstate() == 1) {
+                serviceTask.setSendState(5L);
+                serviceTask.setFail(1L);
+                svyTaskMapper.updateServiceTask(serviceTask);
+            }
         } catch (Exception e) {
             Integer integer = redisCache.getCacheObject(commonTaskcallMQ.getTaskid().toString());
             if (integer != null && integer == 3) {
@@ -264,6 +265,7 @@
                 serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
 
             } else if (descByCode.equals("鐭俊")) {
+                log.info("----active鐨勫�间负锛歿}", active);
                 //鐭俊
                 //瀵箄rl涓袱涓弬鏁板姞瀵�
                 RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
@@ -295,9 +297,9 @@
                         iServiceOutPathService.updateServiceOutPath(serviceOutPath);
                         sendMagParam.setPhone(serviceSubtask.getPhone());
                         sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
-                        if (visitHosp == 2) {
+                        if (active.equals("ls") || active.equals("sltd")) {
                             sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
-                        } else if (visitHosp == 1) {
+                        } else if (active.equals("xh")) {
                             sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌闅忚璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
                         }
 
@@ -321,10 +323,12 @@
                         //濡傛灉type鏄闊抽殢璁跨殑璇濓紙璇存槑琛ュ伩鍙戦�佹柟寮忎腑鏈夌數璇濋殢璁跨殑鏂瑰紡锛岃繖閲岀殑澶栭摼灏卞湴鍧�鍙兘鐢�/sf锛�
                         if (serviceSubtask.getType().equals("1"))
                             sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
-                        if (visitHosp == 2) {
+                        if (active.equals("ls") || active.equals("sltd")) {
                             sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
-                        } else if (visitHosp == 1) {
+                        } else if (active.equals("xh")) {
                             sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                        } else if (active.equals("druid")) {
+                            sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
                         }
                     } else if (type == 3) {
                         //瀹f暀
@@ -344,12 +348,12 @@
                         if (heLibrary.getHetype().equals("1")) {
                             sendMagParam.setPhone(serviceSubtask.getPhone());
                             sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format);
-                            if (visitHosp == 2) {
+                            if (active.equals("ls") || active.equals("sltd")) {
                                 sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
-                            } else if (visitHosp == 1) {
+                            } else if (active.equals("xh")) {
                                 sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
                             }
-                        } else {
+                        } else if (heLibrary.getHetype().equals("2")) {
                             //閫氱煡
                             sendMagParam.setPhone(serviceSubtask.getPhone());
                             sendMagParam.setContent(heLibrary.getPreachcontent());
@@ -358,13 +362,13 @@
 
                     //鐭俊杩橀渶瑕佹ā鏉�
                     String s = null;
-                    if (visitHosp == 1) {
+                    if (active.equals("xh")) {
                         //鏂板崕鐨勭煭淇″彂閫佹柟寮�
                         Map<String, String> req = new HashMap<>();
                         req.put("phone", sendMagParam.getPhone());
                         req.put("content", sendMagParam.getContent());
                         s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
-                    } else if (visitHosp == 2) {
+                    } else if (active.equals("ls")) {
                         String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
                         log.info("-------00token.360鐨刄RL涓猴細{}", url);
                         //涓芥按鐨勭煭淇″彂閫佹柟寮�
@@ -392,14 +396,14 @@
                             setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
                             throw new BaseException("鐭俊鍙戦�佸け璐�");
                         }
-                    } else if (visitHosp == 3) {
+                    } else if (active.equals("sltd")) {
+                        log.info("-------杩涙潵浜嗕笉锛燂紵");
                         //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
-                        JSONObject data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-                        String code = data.get("code").toString();
-                        if (StringUtils.isNotEmpty(code) && code.equals("00000")) {
+                        String data = MessageSend.sendMsg(sendMagParam.getContent(), "2", 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("鐭俊鍙戦�佸け璐�");
                         }
                     }
@@ -513,7 +517,6 @@
                         continue;
                     }
 
-
                     String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskName(), patArchive.getTelcode(), patArchive.getName(), patArchive.getPatidHis(), wxqqxx);
                     log.error("wxCode鐨勫�间负:{}", wxCode);
                     Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class);
@@ -571,7 +574,7 @@
 
             } else if (descByCode.equals("浜哄伐")) {
                 setFailPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
-            }else if (descByCode.equals("寰俊灏忕▼搴�")) {
+            } else if (descByCode.equals("寰俊灏忕▼搴�")) {
                 setFailPreachForm(serviceSubtask, sendPreachform, "寰俊灏忕▼搴忓緟鎵ц", "2");
             }
         }
@@ -651,7 +654,12 @@
             serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
             serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
             serviceSubtaskPreachform.setSendstate(failSendstate);
+            if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
+                //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鐩存帴灏嗗彂閫佺姸鎬佹敼鎴�9
+                if (failSendstate.equals("2")) serviceSubtaskPreachform.setSendstate("9");
+            }
             serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
+
             return true;
         }
 
@@ -662,10 +670,11 @@
         serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
         //鑾峰彇璇ユ偅鑰呯殑鍙戦�佹柟寮忔�绘暟
         List<ServiceSubtaskPreachform> spSize = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
-
+        log.error("-------spSize鐨勫�间负锛歿}", spSize);
         serviceSubtaskPreachform.setPreachform(preachform);
         //1:鏈彂閫佺姸鎬�
         serviceSubtaskPreachform.setSendstate("1");
+        log.error("---serviceSubtaskPreachform鍏ュ弬涓猴細{}", serviceSubtaskPreachform);
         List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
         //鐢佃瘽鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2锛屽洜涓猴紝鏁版嵁鍙兘鍗″湪闃熷垪閲屼簡(涔熸湁鍙兘娌℃湁鎷夊彇锛宻endstate=1,鎵�浠ュ鏋滄槸鐢佃瘽鐘舵�佸垽鏂璼erviceSubtaskPreachforms鏄笉鏄负绌�)
         if (preachform.equals("3") && CollectionUtils.isEmpty(serviceSubtaskPreachforms)) {
@@ -675,6 +684,10 @@
         if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
             ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0);
             serviceSubtaskPreachform1.setSendstate(failSendstate);
+            if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
+                //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鐩存帴灏嗗彂閫佺姸鎬佹敼鎴�9
+                if (failSendstate.equals("2")) serviceSubtaskPreachform1.setSendstate("9");
+            }
             serviceSubtaskPreachform1.setRemark(remark);
             serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
             //濡傛灉褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡,骞朵笖鏈杩樻槸鍙戦�佸け璐ワ紝閭g洿鎺ュ皢serviceSubtask鐨剆endstate鐘舵�佹敼鎴�5灏辫浜�(鍏ㄥけ璐ヤ簡)
@@ -696,6 +709,12 @@
         serviceSubtask.setCurrentPreachform(preachform);
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
         serviceSubtask.setSendstate(3L);
+        if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
+            //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
+            if (failSendstate.equals("2")) {
+                serviceSubtask.setSendstate(6L);
+            }
+        }
         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
         return true;
     }

--
Gitblit v1.9.3