From d4e5b540d3600350c8c8519e2300f2c85d4186fb Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 19 三月 2025 18:17:09 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java |   78 +++++++++++++++++++++++----------------
 1 files changed, 46 insertions(+), 32 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 5c13879..7f4c48d 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -236,6 +236,8 @@
                         }
                     }
                 }
+            } else {
+                continue;
             }
             //灏嗚key鍜寁alue浠巖edis涓紝鍒犻櫎
             redisCache.deleteObject(key);
@@ -246,12 +248,13 @@
             serviceSubtask.setSendstate(6L);
             serviceSubtask.setExcep(serviceSubTaskAnswerReq.getExcep());
             serviceSubtask.setFinishtime(new Date());
+            serviceSubtask.setUpdateTime(new Date());
+            log.error("灏嗚key鍜寁alue浠巖edis涓�,serviceSubtask鐨勫�间负--------锛歿}", serviceSubtask);
             if (score != null) serviceSubtask.setScore(BigDecimal.valueOf(score));
             serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
         }
         return 1;
     }
-
 
 
     /**
@@ -297,6 +300,7 @@
         }
         return 0;
     }
+
     @Override
     public Map<String, Object> getQuestionCache(ServiceSubTaskCacheReq serviceSubTaskCacheReq, Long flag) {
         Map<String, Object> map = new HashMap<>();
@@ -307,7 +311,10 @@
         if (flag == 0L) {
             tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam1(), pri_key));
             pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam2(), pri_key));
-            subId = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam6(), pri_key));
+            //杩欎釜鏄湁闂鐨勶紝鍏堣繖鏍凤紝鍚堝苟浠g爜鐨勬椂鍊欐病鏈夋妸param6鍚堣繘鏉�
+            if (StringUtils.isNotEmpty(serviceSubTaskCacheReq.getParam6())) {
+                subId = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskCacheReq.getParam6(), pri_key));
+            }
         } else if (flag == 1L) {
             tid = Long.valueOf(serviceSubTaskCacheReq.getParam1());
             pid = Long.valueOf(serviceSubTaskCacheReq.getParam2());
@@ -341,39 +348,42 @@
         Map<String, Object> map = new HashMap<>();
 
         Map<String, Object> scriptInfoByCondition = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), serviceSubTaskQueryReq.getIsFinish(), serviceSubTaskQueryReq.getPatfrom());
-        if (scriptInfoByCondition.get("type").equals("1")) {
-            List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
-            for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOList) {
-                Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId());
-                if (ObjectUtils.isNotEmpty(scriptResult)) {
-                    ivrLibaTemplateScriptVO.setScriptResult(scriptResult.get("asrtext"));
-                    ivrLibaTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId"));
+        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(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), ivrLibaTemplateScriptVO.getId());
+                    if (ObjectUtils.isNotEmpty(scriptResult)) {
+                        ivrLibaTemplateScriptVO.setScriptResult(scriptResult.get("asrtext"));
+                        ivrLibaTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId"));
+                    }
                 }
-            }
-            map.put("scriptResult", ivrLibaTemplateScriptVOList);
-            map.put("taskName", scriptInfoByCondition.get("taskName"));
-            return map;
-        } else if (scriptInfoByCondition.get("type").equals("2")) {
-            List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
-            for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) {
-                Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.getId());
-                if (ObjectUtils.isNotEmpty(scriptResult)) {
-                    svyLibTemplateScriptVO.setScriptResult(scriptResult.get("asrtext"));
-                    svyLibTemplateScriptVO.setScriptResultId(scriptResult.get("asrtextId"));
+                map.put("scriptResult", ivrLibaTemplateScriptVOList);
+                map.put("taskName", scriptInfoByCondition.get("taskName"));
+                return map;
+            } else if (scriptInfoByCondition.get("type").equals("2")) {
+                List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOList = (List) scriptInfoByCondition.get("script");
+                for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOList) {
+                    Map<String, String> scriptResult = getScriptResult(serviceSubTaskQueryReq.getSubId(), serviceSubTaskQueryReq.getPatid(), svyLibTemplateScriptVO.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"));
+                    }
                 }
+                map.put("scriptResult", svyLibTemplateScriptVOList);
+                map.put("taskName", scriptInfoByCondition.get("taskName"));
+                return map;
+            } else if (scriptInfoByCondition.get("type").equals("3")) {
+                //瀹f暀涓嶉渶瑕佹煡鐪�
+                List<HeLibrary> heLibraryList = (List) scriptInfoByCondition.get("script");
+                map.put("scriptResult", heLibraryList);
+                map.put("taskName", scriptInfoByCondition.get("taskName"));
+                return map;
             }
-            map.put("scriptResult", scriptInfoByCondition);
-            map.put("taskName", scriptInfoByCondition.get("taskName"));
-            return map;
-        } else if (scriptInfoByCondition.get("type").equals("3")) {
-            //瀹f暀涓嶉渶瑕佹煡鐪�
-            List<HeLibrary> heLibraryList = (List) scriptInfoByCondition.get("script");
-            map.put("scriptResult", heLibraryList);
-            map.put("taskName", scriptInfoByCondition.get("taskName"));
-            return map;
         }
-
-        return null;
+        return map;
     }
 
     private Map<String, String> getScriptResult(Long subid, Long pid, Long sid) {
@@ -455,8 +465,10 @@
         ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(taskid);
         serviceSubtaskDetailVO.setQuestiontext(svyTaskTemplateScriptVO.getScriptContent());
         serviceSubtaskDetailVO.setTaskid(Long.valueOf(taskid));
+        serviceSubtaskDetailVO.setTargetid(svyTaskTemplateScriptVO.getTargetid() != null ? svyTaskTemplateScriptVO.getTargetid().intValue() : null);
         serviceSubtaskDetailVO.setPatid(Long.valueOf(patid));
         serviceSubtaskDetailVO.setScriptid(svyTaskTemplateScriptVO.getId());
+        serviceSubtaskDetailVO.setTemplatequestionnum(StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptno()) ? Long.valueOf(svyTaskTemplateScriptVO.getScriptno()) : null);
         serviceSubtaskDetailVO.setValueType(svyTaskTemplateScriptVO.getScriptType());
         serviceSubtaskDetailVO.setComment(null);
         serviceSubtaskDetailVO.setCreateTime(new Date());
@@ -517,10 +529,12 @@
                 }
             }
         }
+        serviceSubtaskDetailVO.setTargetid(ivrTaskTemplateScriptVO.getTargetid() != null ? ivrTaskTemplateScriptVO.getTargetid().intValue() : null);
         serviceSubtaskDetailVO.setQuestiontext(ivrTaskTemplateScriptVO.getScriptContent());
         serviceSubtaskDetailVO.setTaskid(Long.valueOf(taskid));
         serviceSubtaskDetailVO.setPatid(Long.valueOf(patid));
-        serviceSubtaskDetailVO.setScriptid(ivrTaskTemplateScriptVO.getId());
+        serviceSubtaskDetailVO.setScriptid(ivrTaskTemplateScriptVO.getScriptID());
+        serviceSubtaskDetailVO.setTemplatequestionnum(ivrTaskTemplateScriptVO.getId());
         serviceSubtaskDetailVO.setValueType(ivrTaskTemplateScriptVO.getScriptType());
         serviceSubtaskDetailVO.setComment(null);
         serviceSubtaskDetailVO.setCreateTime(new Date());

--
Gitblit v1.9.3