From b70470489e87f02b45b521090f1e5dd6052c3eb8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 06 一月 2026 10:40:21 +0800
Subject: [PATCH] 省立同德短信问题处理

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index a0e33fe..9c980af 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson2.JSON;
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
 import com.ruoyi.common.core.redis.RedisCache;
@@ -17,6 +18,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -359,7 +361,7 @@
 //        return map;
 //    }
 
-    
+
     /**
      * 缁熻浠诲姟鍚勭鐘舵�佺殑鏁伴噺锛堝凡浼樺寲锛�
      * 浼樺寲璇存槑锛�
@@ -374,7 +376,10 @@
     public Map<String, Object> patItemCount(ServiceSubtaskVO serviceSubtaskVO) {
         // 鐩存帴璋冪敤鏁版嵁搴撶粺璁℃柟娉曪紝鍦ㄦ暟鎹簱灞傚畬鎴愯仛鍚堣绠�
         Map<String, Object> result = serviceSubtaskMapper.countByCondition(serviceSubtaskVO);
-
+        // 澶勭悊绌哄紓甯�
+        if(MapUtils.isEmpty(result)){
+            result = new HashMap<>();
+        }
         // 纭繚鎵�鏈� key 閮芥湁鍊硷紝閬垮厤绌烘寚閽堝紓甯�
         // MyBatis 鐨� SUM 鍦ㄦ病鏈夊尮閰嶈鏃朵細杩斿洖 null
         result.putIfAbsent("wzx", 0);
@@ -516,7 +521,15 @@
             }
             if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
                 tempid = Long.valueOf(ivrTaskTemplateService.saveOrUpdateTempScript(serviceTaskVO.getIvrTaskTemplateVO()));
-                tempName = ivrTaskTemplateService.selectIvrTaskTemplateByID(tempid).getTemplateName();
+                log.info("IVR妯℃澘鎻掑叆鎴愬姛锛岃繑鍥炵殑tempid={}", tempid);
+
+                IvrTaskTemplate ivrTaskTemplate = ivrTaskTemplateService.selectIvrTaskTemplateByID(tempid);
+                if (ivrTaskTemplate == null) {
+                    log.error("鏍规嵁tempid={}鏌ヨIVR妯℃澘澶辫触锛岃繑鍥瀗ull锛佽妫�鏌el_flag瀛楁鏄惁姝g‘璁剧疆", tempid);
+                    throw new BaseException("IVR妯℃澘淇濆瓨鎴愬姛浣嗘煡璇㈠け璐ワ紝璇疯仈绯荤鐞嗗憳妫�鏌ユ暟鎹�");
+                }
+                tempName = ivrTaskTemplate.getTemplateName();
+                log.info("IVR妯℃澘鏌ヨ鎴愬姛锛宼empName={}", tempName);
             }
 
             //寰�浠诲姟琛ㄤ腑锛屾柊澧炰换鍔�
@@ -2185,8 +2198,18 @@
             stringBuilder.append("鍏ラ櫌鍑嗗涓績鐢佃瘽锛�89975977銆傚叆闄㈠姙鐞嗛』鐭�:https://mp.weixin.qq.com/s/OCkotuRyQ8Ld2owFF0YErw");
 
             String data = MessageSend.sendMsg(stringBuilder.toString(), "6", patArchiveSrmVO.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-            if (StringUtils.isNotEmpty(data) && data.contains("result=0")) {
-                sendError.add(patArchiveSrmVO);
+            if (StringUtils.isNotEmpty(data)) {
+                ObjectMapper mapper = new ObjectMapper();
+                JsonNode root = null;
+                try {
+                    root = mapper.readTree(data);
+                } catch (JsonProcessingException e) {
+                    e.printStackTrace();
+                }
+                String status = root.get("result").get(0).get("status").asText();
+                if (status.equals("00000")) {
+                    sendError.add(patArchiveSrmVO);
+                }
             }
         }
 
@@ -2971,6 +2994,11 @@
         serviceSubtaskPreachform.setTaskid(taskid);
         List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
         if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
+            //娌℃湁闅忚鏃堕棿鍒欐寜褰撳ぉ鏉ョ畻--涓存椂
+            if (ObjectUtils.isEmpty(visitTime)) {
+                visitTime = new Date();
+            }
+
             String compensateTime = serviceSubtaskPreachforms.get(0).getCompensateTime();
             int hoursToAdd = Integer.valueOf(compensateTime) * 24;
             Calendar calendar = Calendar.getInstance();

--
Gitblit v1.9.3