From e180e3a496d6f29d3a3b34016400de9d997c6bd9 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 07 四月 2026 14:42:23 +0800
Subject: [PATCH] 省立同德满意度功能提交

---
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java |   42 ++++++++++++++++++++++++++++--------------
 1 files changed, 28 insertions(+), 14 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 e8139a0..7324a94 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
@@ -24,6 +24,7 @@
 import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.common.LSHospTokenUtil;
 import com.smartor.domain.*;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.*;
 import com.smartor.service.IBaseSmsaccountService;
 import com.smartor.service.IServiceOutPathService;
@@ -117,9 +118,6 @@
     @Autowired
     private ISysConfigService configService;
 
-    // 鍒涘缓鍥哄畾澶у皬鐨勭嚎绋嬫睜
-    private static final ExecutorService executorService = Executors.newFixedThreadPool(10);
-
     public RedisMqReceiver(RedisMessageListenerContainer listenerContainer) {
         super(listenerContainer);
     }
@@ -151,12 +149,12 @@
             ServiceTask serviceTask = new ServiceTask();
             serviceTask.setTaskid(Long.valueOf(commonTaskcallMQ.getTaskid()));
 
-            //鍦ㄩ棶鍗蜂腑锛岄�変腑鏌愪釜閫夐」瑕佽繘琛屾湇鍔¤ˉ鍋挎椂锛屽彧鏄�熺敤璇ユ湇鍔$殑澶栧3锛屼笉瀵硅鏈嶅姟鏈変换鍔″奖鍝�
-            if (commonTaskcallMQ.getUpdateSendstate() == null || commonTaskcallMQ.getUpdateSendstate() == 1) {
-                serviceTask.setSendState(5L);
-                serviceTask.setFail(1L);
-                serviceTaskMapper.updateServiceTask(serviceTask);
-            }
+//            //鍦ㄩ棶鍗蜂腑锛岄�変腑鏌愪釜閫夐」瑕佽繘琛屾湇鍔¤ˉ鍋挎椂锛屽彧鏄�熺敤璇ユ湇鍔$殑澶栧3锛屼笉瀵硅鏈嶅姟鏈変换鍔″奖鍝�
+//            if (commonTaskcallMQ.getUpdateSendstate() == null || commonTaskcallMQ.getUpdateSendstate() == 1) {
+//                serviceTask.setSendState(5L);
+//                serviceTask.setFail(1L);
+//                serviceTaskMapper.updateServiceTask(serviceTask);
+//            }
         } catch (Exception e) {
             Integer integer = redisCache.getCacheObject(commonTaskcallMQ.getTaskid().toString());
             if (integer != null && integer == 3) {
@@ -177,7 +175,7 @@
     }
 
     /**
-     * 浠诲姟澶勭悊
+     * 浠诲姟澶勭悊 鍗曟闅忚
      *
      * @param commonTaskcallMQ
      */
@@ -187,7 +185,7 @@
         ServiceTask ivrTask1 = ivrTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid());
 
         //閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭�
-        ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+        ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
         serviceSubtaskVO.setTaskid(commonTaskcallMQ.getTaskid());
         serviceSubtaskVO.setSendstate(2L);
         List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtaskVO);
@@ -653,7 +651,7 @@
                 serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
 
             } else if (descByCode.equals("浜哄伐")) {
-                setFailPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
+                setFailPreachForm(serviceSubtask, sendPreachform, "浜哄伐瓒呮椂", "7");
             } else if (descByCode.equals("寰俊灏忕▼搴�")) {
                 setFailPreachForm(serviceSubtask, sendPreachform, "寰俊灏忕▼搴忓緟鎵ц", "2");
             }
@@ -720,10 +718,13 @@
             serviceSubtaskPreachforms = serviceSubtaskPreachformList;
         }
 
-
         // 鎯呭喌1锛歝urrentPreachform涓虹┖锛屽彇sort涓�1鐨刾reachform
         if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
-            return serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
+            String firstPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
+            serviceSubtaskPreachform.setPreachform(firstPreachform);
+            serviceSubtaskPreachform.setCurrentSendTime(new Date());
+            serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
+            return firstPreachform;
         }
 
         // 鎯呭喌2锛歝urrentPreachform涓嶄负绌猴紝鎵句笅涓�涓猻ort
@@ -738,6 +739,7 @@
                 if (allSendStateNot1AndNot9) {
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
                     serviceSubtask.setSendstate(5L);
+                    serviceSubtask.setRemark("-----getSendPreachform,鍙戦�佹柟寮忓叏閮ㄥけ璐�");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                 }
                 return "-1";
@@ -799,6 +801,7 @@
             serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
             serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
             serviceSubtaskPreachform.setSendstate(failSendstate);
+            serviceSubtaskPreachform.setCurrentSendTime(new Date());
             if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
                 //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鐩存帴灏嗗彂閫佺姸鎬佹敼鎴�9
                 if (failSendstate.equals("2")) serviceSubtaskPreachform.setSendstate("9");
@@ -842,6 +845,12 @@
                     if (failSendstate.equals("4") || failSendstate.equals("5")) {
                         serviceSubtask.setCurrentPreachform(preachform);
                         serviceSubtask.setSendstate(5L);
+                        serviceSubtask.setRemark("setFailPreachForm鏂规硶 褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+                        //浜哄伐鍙戦�佽秴鏃�
+                        if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")){
+                            serviceSubtask.setSendstate(7L);
+                            serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
+                        }
                         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                         return true;
                     }
@@ -855,6 +864,11 @@
         serviceSubtask.setCurrentPreachform(preachform);
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
         serviceSubtask.setSendstate(3L);
+        //浜哄伐鍙戦�佽秴鏃�
+        if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")){
+            serviceSubtask.setSendstate(7L);
+            serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
+        }
         if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
             //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
             if (failSendstate.equals("2")) {

--
Gitblit v1.9.3