From af73b41c2b027d8d74ce417e2f10008337577128 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 29 十月 2025 14:07:06 +0800
Subject: [PATCH] 新增服务补偿,用户查询BUG修改

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java |  187 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 137 insertions(+), 50 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
index 799fd20..fe021e6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -1,5 +1,8 @@
 package com.smartor.service.impl;
 
+import com.alibaba.fastjson2.JSON;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
@@ -18,6 +21,7 @@
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 浠诲姟闂嵎闂閫夐」Service涓氬姟灞傚鐞�
@@ -172,18 +176,18 @@
                 continue;
             }
             if (key.contains("-WJscriptCache")) {
-                List<SvyLibTemplateScriptVO> cacheList = redisCache.getCacheList(key);
-                cacheList.sort(Comparator.comparingLong(SvyLibTemplateScriptVO::getSort));
+                List<SvyTaskTemplateScriptVO> cacheList = redisCache.getCacheList(key);
+                cacheList.sort(Comparator.comparingLong(SvyTaskTemplateScriptVO::getSort));
                 log.error("闂嵎鍥炵瓟缁撴灉锛歿}", cacheList);
                 for (int i = 0; i < cacheList.size(); i++) {
                     if (i == 0) {
                         //杩欎釜鏃堕棿瑕佹壘鍒扮涓�棰�
-                        for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : cacheList) {
-                            if (svyLibTemplateScriptVO.getSort() == 1L) {
+                        for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : cacheList) {
+                            if (svyTaskTemplateScriptVO.getSort() == 1L) {
                                 //璇存槑鏄涓�棰�
-                                SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), SvyTaskTemplateScriptVO.class);
-                                List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = cacheList.get(0).getSvyLibTemplateTargetoptions();
-                                List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class);
+//                                SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), SvyTaskTemplateScriptVO.class);
+                                List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = cacheList.get(0).getSvyTaskTemplateTargetoptions();
+//                                List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyTaskTemplateTargetoptions, SvyTaskTemplateTargetoption.class);
                                 svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions);
                                 Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, tid, pid);
                                 if (map == null) continue aa;
@@ -198,8 +202,10 @@
                         }
 
                     } else {
-                        SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(i), SvyTaskTemplateScriptVO.class);
-                        List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getSvyLibTemplateTargetoptions(), SvyTaskTemplateTargetoption.class);
+                        SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = cacheList.get(i);
+//                        SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(i), SvyTaskTemplateScriptVO.class);
+                        List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = cacheList.get(i).getSvyTaskTemplateTargetoptions();
+//                        List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getSvyTaskTemplateTargetoptions(), SvyTaskTemplateTargetoption.class);
                         svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions);
 
                         if (svyTaskTemplateScriptVO.getSort() != null && svyTaskTemplateScriptVO.getSort().equals(nextScriptno)) {
@@ -217,18 +223,18 @@
                     }
                 }
             } else if (key.contains("-SFscriptCache")) {
-                List<IvrLibaTemplateScriptVO> cacheList = redisCache.getCacheList(key);
-                cacheList.sort(Comparator.comparingLong(IvrLibaTemplateScriptVO::getSort));
+                List<IvrTaskTemplateScriptVO> cacheList = redisCache.getCacheList(key);
+                cacheList.sort(Comparator.comparingLong(IvrTaskTemplateScriptVO::getSort));
                 log.error("鐢佃瘽闅忚闂嵎鍥炵瓟缁撴灉锛歿}", cacheList);
                 for (int i = 0; i < cacheList.size(); i++) {
                     if (i == 0) {
                         //杩欎釜鏃堕棿瑕佹壘鍒扮涓�棰�
-                        for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : cacheList) {
-                            if (ivrLibaTemplateScriptVO.getSort() == 1L) {
+                        for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : cacheList) {
+                            if (ivrTaskTemplateScriptVO.getSort() == 1L) {
                                 //璇存槑鏄涓�棰�
-                                IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), IvrTaskTemplateScriptVO.class);
-                                List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = cacheList.get(0).getIvrLibaScriptTargetoptionList();
-                                List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(ivrLibaTemplateTargetoptions, IvrTaskTemplateTargetoption.class);
+//                                IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), IvrTaskTemplateScriptVO.class);
+                                List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = cacheList.get(0).getIvrTaskScriptTargetoptionList();
+//                                List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(ivrLibaTemplateTargetoptions, IvrTaskTemplateTargetoption.class);
                                 ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions);
                                 Map<String, String> map = setSFInfo(ivrTaskTemplateScriptVO, tid, pid);
                                 if (!Objects.isNull(map.get("nextScriptNo")))
@@ -243,7 +249,7 @@
 
                     } else {
                         IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(i), IvrTaskTemplateScriptVO.class);
-                        List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getIvrLibaScriptTargetoptionList(), IvrTaskTemplateTargetoption.class);
+                        List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getIvrTaskScriptTargetoptionList(), IvrTaskTemplateTargetoption.class);
                         ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions);
 
                         if (ivrTaskTemplateScriptVO.getSort() != null && Long.valueOf(ivrTaskTemplateScriptVO.getSort()).equals(nextScriptno)) {
@@ -269,13 +275,14 @@
             ServiceSubtaskVO ssVO = new ServiceSubtaskVO();
             ssVO.setTaskid(tid);
             ssVO.setPatid(pid);
-            ssVO.setSendstate(3L);
+//            ssVO.setSendstate(3L);
             List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(ssVO);
 
             ServiceSubtask serviceSubtask = new ServiceSubtask();
             serviceSubtask.setTaskid(tid);
             serviceSubtask.setPatid(pid);
             serviceSubtask.setSubmit(1L);
+            serviceSubtask.setIsabnormal(serviceSubTaskAnswerReq.getIsabnormal());
             serviceSubtask.setSendstate(6L);
             serviceSubtask.setExcep(serviceSubTaskAnswerReq.getExcep());
             serviceSubtask.setFinishtime(new Date());
@@ -333,19 +340,19 @@
             }
         }
 
-        if (CollectionUtils.isNotEmpty(serviceSubTaskMYDAnswerReq.getSvyLibTemplateScriptVOS())) {
+        if (CollectionUtils.isNotEmpty(serviceSubTaskMYDAnswerReq.getSvyTaskTemplateScriptVOS())) {
             Double score = null;
-            List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS = serviceSubTaskMYDAnswerReq.getSvyLibTemplateScriptVOS();
+            List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS = serviceSubTaskMYDAnswerReq.getSvyTaskTemplateScriptVOS();
             Long nextScriptno = null;
-            for (int i = 0; i < svyLibTemplateScriptVOS.size(); i++) {
+            for (int i = 0; i < svyTaskTemplateScriptVOS.size(); i++) {
                 if (i == 0) {
                     //杩欎釜鏃堕棿瑕佹壘鍒扮涓�棰�
-                    for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOS) {
-                        if (svyLibTemplateScriptVO.getSort() == 1L) {
+                    for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOS) {
+                        if (svyTaskTemplateScriptVO.getSort() == 1L) {
                             //璇存槑鏄涓�棰�
-                            SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(0), SvyTaskTemplateScriptVO.class);
-                            List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateScriptVOS.get(0).getSvyLibTemplateTargetoptions();
-                            List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class);
+//                            SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(0), SvyTaskTemplateScriptVO.class);
+                            List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateScriptVOS.get(0).getSvyTaskTemplateTargetoptions();
+//                            List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyTaskTemplateTargetoptions, SvyTaskTemplateTargetoption.class);
                             svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions);
                             Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(serviceSubTaskMYDAnswerReq.getTaskId()), patid);
                             if (map == null) continue;
@@ -363,8 +370,10 @@
                     }
 
                 } else {
-                    SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(i), SvyTaskTemplateScriptVO.class);
-                    List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(i).getSvyLibTemplateTargetoptions(), SvyTaskTemplateTargetoption.class);
+                    SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = svyTaskTemplateScriptVOS.get(i);
+//                    SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(i), SvyTaskTemplateScriptVO.class);
+                    List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateScriptVOS.get(i).getSvyTaskTemplateTargetoptions();
+//                    List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(i).getSvyLibTemplateTargetoptions(), SvyTaskTemplateTargetoption.class);
                     svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions);
 
                     if (svyTaskTemplateScriptVO.getSort() != null && svyTaskTemplateScriptVO.getSort().equals(nextScriptno)) {
@@ -485,18 +494,18 @@
                 tid = Long.valueOf(serviceSubTaskCacheReq.getParam1());
                 pid = Long.valueOf(serviceSubTaskCacheReq.getParam2());
             }
-            if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS()) && serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS().size() > 0) {
+            if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getSvyTaskTemplateScriptVOS()) && serviceSubTaskCacheReq.getSvyTaskTemplateScriptVOS().size() > 0) {
                 //闂嵎
                 redisCache.deleteObject(pid + "-" + tid + "-WJscriptCache");
-                redisCache.setCacheListRight(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyLibTemplateScriptVOS());
+                redisCache.setCacheListRight(pid + "-" + tid + "-WJscriptCache", serviceSubTaskCacheReq.getSvyTaskTemplateScriptVOS());
                 //璁剧疆杩囨湡鏃堕棿 3澶�
                 Long tims = Long.valueOf(3 * 24 * 3600);
                 boolean expire = redisCache.expire(pid + "-" + tid + "-WJscriptCache", tims);
                 return 1;
-            } else if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getIvrLibaTemplateScriptVOList()) && serviceSubTaskCacheReq.getIvrLibaTemplateScriptVOList().size() > 0) {
+            } else if (CollectionUtils.isNotEmpty(serviceSubTaskCacheReq.getIvrTaskTemplateScriptVOList()) && serviceSubTaskCacheReq.getIvrTaskTemplateScriptVOList().size() > 0) {
                 //闂嵎
                 redisCache.deleteObject(pid + "-" + tid + "-SFscriptCache");
-                redisCache.setCacheListRight(pid + "-" + tid + "-SFscriptCache", serviceSubTaskCacheReq.getIvrLibaTemplateScriptVOList());
+                redisCache.setCacheListRight(pid + "-" + tid + "-SFscriptCache", serviceSubTaskCacheReq.getIvrTaskTemplateScriptVOList());
                 //璁剧疆杩囨湡鏃堕棿 3澶�
                 Long tims = Long.valueOf(3 * 24 * 3600);
                 redisCache.expire(pid + "-" + tid + "-SFscriptCache", tims);
@@ -546,7 +555,7 @@
             }
         }
         //闂嵎
-        List<SvyLibTemplateScriptVO> svyTaskTemplateScriptVOList = redisCache.getCacheList(pid + "-" + tid + "-WJscriptCache");
+        List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOList = redisCache.getCacheList(pid + "-" + tid + "-WJscriptCache");
         map.put("result", svyTaskTemplateScriptVOList);
         return map;
     }
@@ -582,29 +591,30 @@
         if (ObjectUtils.isNotEmpty(scriptInfoByCondition) && ObjectUtils.isNotEmpty(scriptInfoByCondition.get("script"))) {
 //            log.error("-----------scriptInfoByCondition鐨勫�间负锛歿}", scriptInfoByCondition);
             if (scriptInfoByCondition.get("type").equals("1")) {
-                List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
-                for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOList) {
-                    Map<String, String> scriptResult = getScriptResult(subid, patid, ivrLibaTemplateScriptVO.getId());
+                List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOS = (List<IvrTaskTemplateScriptVO>) scriptInfoByCondition.get("script");
+//                List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = DtoConversionUtils.sourceToTarget(ivrTaskTemplateScriptVOS, IvrLibaTemplateScriptVO.class);
+                for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateScriptVOS) {
+                    Map<String, String> scriptResult = getScriptResult(subid, patid, ivrTaskTemplateScriptVO.getId());
                     if (ObjectUtils.isNotEmpty(scriptResult)) {
-                        ivrLibaTemplateScriptVO.setScriptResult(scriptResult.get("asrtext"));
-                        ivrLibaTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId"));
+                        ivrTaskTemplateScriptVO.setScriptResult(scriptResult.get("asrtext"));
+                        ivrTaskTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId"));
                     }
                 }
-                map.put("scriptResult", ivrLibaTemplateScriptVOList);
+                map.put("scriptResult", ivrTaskTemplateScriptVOS);
                 map.put("taskName", scriptInfoByCondition.get("taskName"));
             } else if (scriptInfoByCondition.get("type").equals("2")) {
-                List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
-                for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) {
-                    Map<String, String> scriptResult = getScriptResult(subid, patid, svyLibTemplateScriptVO.getId());
+                List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
+                for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOList) {
+                    Map<String, String> scriptResult = getScriptResult(subid, patid, svyTaskTemplateScriptVO.getId());
                     if (ObjectUtils.isNotEmpty(scriptResult)) {
                         if (StringUtils.isNotEmpty(scriptResult.get("asrtext")))
-                            svyLibTemplateScriptVO.setScriptResult(StringUtils.isNotEmpty(scriptResult.get("asrtext")) ? scriptResult.get("asrtext").replaceAll("^(\"|')(.*)\\1$", "$2") : "");
-                        svyLibTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId"));
+                            svyTaskTemplateScriptVO.setScriptResult(StringUtils.isNotEmpty(scriptResult.get("asrtext")) ? scriptResult.get("asrtext").replaceAll("^(\"|')(.*)\\1$", "$2") : "");
+                        svyTaskTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId"));
                         if (StringUtils.isNotEmpty(scriptResult.get("answerps")))
-                            svyLibTemplateScriptVO.setAnswerps(scriptResult.get("answerps"));
+                            svyTaskTemplateScriptVO.setAnswerps(scriptResult.get("answerps"));
                     }
                 }
-                map.put("scriptResult", svyLibTemplateScriptVOList);
+                map.put("scriptResult", svyTaskTemplateScriptVOList);
                 map.put("taskName", scriptInfoByCondition.get("taskName"));
             } else if (scriptInfoByCondition.get("type").equals("3")) {
                 //瀹f暀涓嶉渶瑕佹煡鐪�
@@ -660,10 +670,6 @@
             }
             serviceSubtaskDetailVO.setAsrtext(StringUtils.isEmpty(svyTaskTemplateScriptVO.getScriptResult()) ? "" : svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", ""));
             serviceSubtaskDetailVO.setMatchedtext(StringUtils.isEmpty(svyTaskTemplateScriptVO.getScriptResult()) ? "" : svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", ""));
-            //            if (StringUtils.isEmpty(serviceSubtaskDetailVO.getAsrtext())) {
-//                nextScriptNo = svyTaskTemplateScriptVO.getNextScriptno().toString();
-//            }
-//            serviceSubtaskDetailVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions());
         } else {
             //闈炲崟澶氶��
             if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptResult())) {
@@ -694,11 +700,86 @@
         ServiceSubtaskDetail serviceSubtaskDetail = DtoConversionUtils.sourceToTarget(serviceSubtaskDetailVO, ServiceSubtaskDetail.class);
         serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail);
 
+        //濡備綍杩欓渶瑕佹湇鍔¤ˉ鍋跨殑鏈嶅姟ID涓嶄负绌虹殑璇濓紝鍒欒繘琛岀珛鍗冲彂閫�
+        if (CollectionUtils.isNotEmpty(svyTaskTemplateScriptVO.getSendTaskids()) && CollectionUtils.isNotEmpty(selectServiceSubtaskList)) {
+            sendTaskIds(svyTaskTemplateScriptVO.getSendTaskids(), selectServiceSubtaskList.get(0));
+        }
+
         Map<String, String> map = new HashMap<>();
         map.put("nextScriptNo", nextScriptNo);
         map.put("score", score);
         map.put("id", "" + serviceSubtaskDetail.getId());
         return map;
+    }
+
+    private Boolean sendTaskIds(List<Integer> sendTaskids, ServiceSubtask serviceSubtask) {
+        for (Integer taskId : sendTaskids) {
+            ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(Long.valueOf(taskId));
+            String content = sendMQContent(serviceTask, null);
+            //鍏堜慨鏀圭姸鎬�
+            insertServiceSubtask(serviceTask, new Date(), serviceSubtask);
+            //绔嬪嵆鍙戦��
+            redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS);
+            serviceTask.setStopState(null);
+            log.info("娑堟伅鍙戦�佹垚鍔�");
+        }
+        return null;
+    }
+
+
+    private void insertServiceSubtask(ServiceTask serviceTask, Date date, ServiceSubtask serviceSubtask) {
+        //鍙杩涘叆闃熷垪灏辩畻寰呭彂閫�
+        serviceSubtask.setTaskid(serviceTask.getTaskid());
+        serviceSubtask.setTaskName(serviceTask.getTaskName());
+        serviceSubtask.setLibtemplateid(StringUtils.isNotEmpty(serviceTask.getLibtemplateid()) ? Long.valueOf(serviceTask.getLibtemplateid()) : null);
+        serviceSubtask.setTemplatename(serviceTask.getTemplatename());
+        serviceSubtask.setTemplateid(serviceTask.getTemplateid());
+        serviceSubtask.setSendstate(2L);
+        serviceSubtask.setVisitTime(date);
+        serviceSubtask.setId(null);
+        serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
+
+        //璁剧疆鍙戦�佽ˉ鍋挎柟寮忥紙杩欎釜瀹屽叏鎸夌収鏈嶅姟鐨勫彂閫佹柟寮忔潵璧帮級
+        if (StringUtils.isNotEmpty(serviceTask.getPreachformDesc())) {
+            ObjectMapper objectMapper = new ObjectMapper();
+            try {
+                List<Map<String, Object>> pfList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
+                for (Map<String, Object> map : pfList) {
+                    ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+                    serviceSubtaskPreachform.setSort(ObjectUtils.isEmpty(map.get("sort")) ? 0 : Long.valueOf(map.get("sort").toString()));
+                    serviceSubtaskPreachform.setPreachform(ObjectUtils.isEmpty(map.get("preachform")) ? "" : map.get("preachform").toString());
+                    serviceSubtaskPreachform.setCompensateTime(ObjectUtils.isEmpty(map.get("compensateTime")) ? "" : map.get("compensateTime").toString());
+                    serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
+                    serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+                    //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥�
+                    serviceSubtaskPreachform.setSendstate("1");
+                    serviceSubtaskPreachform.setOrgid(serviceTask.getOrgid());
+                    serviceSubtaskPreachform.setCreateTime(new Date());
+                    serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
+                }
+            } catch (JsonProcessingException e) {
+                e.printStackTrace();
+            }
+
+        }
+
+
+    }
+
+    private String sendMQContent(ServiceTask serviceTask, TaskSendTimeVO sendTimeslot) {
+        CommonTaskcallMQ commonTaskcallMQ = new CommonTaskcallMQ();
+        commonTaskcallMQ.setTaskid(serviceTask.getTaskid());
+        commonTaskcallMQ.setSendType("2");
+        commonTaskcallMQ.setTemplateid(ObjectUtils.isNotEmpty(serviceTask.getTemplateid()) ? serviceTask.getTemplateid().toString() : null);
+        commonTaskcallMQ.setPreachform(serviceTask.getPreachform());
+        commonTaskcallMQ.setStopState(serviceTask.getStopState());
+        commonTaskcallMQ.setTaskType(StringUtils.isNotEmpty(serviceTask.getType()) ? Integer.valueOf(serviceTask.getType()) : null);
+        commonTaskcallMQ.setSendTimeslot(sendTimeslot);
+        commonTaskcallMQ.setUpdateSendstate(2);
+
+        String commonTaskcallMQJson = JSON.toJSONString(commonTaskcallMQ);
+        commonTaskcallMQJson = commonTaskcallMQJson.substring(1, commonTaskcallMQJson.length() - 1);
+        return commonTaskcallMQJson;
     }
 
     private Map<String, String> setSFInfo(IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO, Long taskid, Long patid) {
@@ -759,6 +840,12 @@
         ServiceSubtaskDetail serviceSubtaskDetail = DtoConversionUtils.sourceToTarget(serviceSubtaskDetailVO, ServiceSubtaskDetail.class);
         serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail);
 
+        //濡備綍杩欓渶瑕佹湇鍔¤ˉ鍋跨殑鏈嶅姟ID涓嶄负绌虹殑璇濓紝鍒欒繘琛岀珛鍗冲彂閫�
+        if (CollectionUtils.isNotEmpty(ivrTaskTemplateScriptVO.getSendTaskids()) && CollectionUtils.isNotEmpty(selectServiceSubtaskList)) {
+            sendTaskIds(ivrTaskTemplateScriptVO.getSendTaskids(), selectServiceSubtaskList.get(0));
+        }
+
+
         Map<String, String> map = new HashMap<>();
         map.put("nextScriptNo", nextScriptNo);
         map.put("score", score);

--
Gitblit v1.9.3