From 355087c24ad9a2f73ae74662b207c4d0f7b0f7a0 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 30 十月 2025 18:24:33 +0800
Subject: [PATCH] 修改省立同德的短信功能

---
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 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..b61ba12 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
@@ -141,9 +141,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) {
@@ -325,6 +329,8 @@
                             sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
                         } else if (visitHosp == 1) {
                             sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                        } else if (visitHosp == 4) {
+                            sendMagParam.setContent("銆愮渷绔嬪悓寰枫�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
                         }
                     } else if (type == 3) {
                         //瀹f暀
@@ -348,6 +354,8 @@
                                 sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
                             } else if (visitHosp == 1) {
                                 sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                            }else if (visitHosp == 4) {
+                                sendMagParam.setContent("銆愮渷绔嬪悓寰枫�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
                             }
                         } else {
                             //閫氱煡
@@ -392,7 +400,7 @@
                             setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
                             throw new BaseException("鐭俊鍙戦�佸け璐�");
                         }
-                    } else if (visitHosp == 3) {
+                    } else if (visitHosp == 4) {
                         //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
                         JSONObject data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
                         String code = data.get("code").toString();
@@ -513,7 +521,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 +578,7 @@
 
             } else if (descByCode.equals("浜哄伐")) {
                 setFailPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
-            }else if (descByCode.equals("寰俊灏忕▼搴�")) {
+            } else if (descByCode.equals("寰俊灏忕▼搴�")) {
                 setFailPreachForm(serviceSubtask, sendPreachform, "寰俊灏忕▼搴忓緟鎵ц", "2");
             }
         }
@@ -651,7 +658,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;
         }
 
@@ -675,6 +687,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 +712,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