From da6cce0d9f01b98d20b9ed89b438cd32006a8dd8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 22 十一月 2024 17:17:10 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   82 ++++++++++++++++++++++++++++++++++------
 1 files changed, 69 insertions(+), 13 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 aca304e..d96e13e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -498,6 +498,11 @@
             if (noVoice == ivrTaskTemplateVO.getNoVoiceNum().intValue()) {
                 //宸茬粡闂簡瀵瑰簲鐨勯亶鏁帮紝灏卞垽鏂槸鍚﹁繕鏈変笅涓�棰�
                 if (nowQuestion.getTargetid() == IvrTaskTemplateScriptVOs.size()) {
+                    ServiceSubtask ss = new ServiceSubtask();
+                    ss.setId(serviceSubtask.getId());
+                    ss.setSendstate(5L);
+                    ss.setRemark("鐢佃瘽鏃犲搷搴�");
+                    serviceSubtaskMapper.updateServiceSubtask(ss);
                     //娌℃湁涓嬩竴棰樹簡锛屽氨鎸傛柇鐢佃瘽锛屾挱鏀剧粨鏉熻
                     redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES);
                     phoneUtils.ttsPlayback(ivrTaskTemplateVO.getRevisitAfter(), phoneCallBackVO.getUuid());
@@ -574,6 +579,10 @@
                             return;
                         } else if (nextQuestion > IvrTaskTemplateScriptVOs.size()) {
                             //娌℃湁涓嬩竴棰樹簡锛屽氨缁撴潫浜�
+                            ServiceSubtask ss = new ServiceSubtask();
+                            ss.setId(serviceSubtask.getId());
+                            ss.setSendstate(6L);
+                            serviceSubtaskMapper.updateServiceSubtask(ss);
                             String date = simpleDateFormat1.format(new Date());
                             log.error("娌℃湁涓嬩竴棰樹簡锛屽氨缁撴潫浜�: {},uuid涓猴細{}", date, phoneCallBackVO.getUuid());
                             redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES);
@@ -615,6 +624,11 @@
                         return;
                     } else {
                         //灏卞彲浠ユ寕鏂數璇濅簡
+                        ServiceSubtask ss = new ServiceSubtask();
+                        ss.setId(serviceSubtask.getId());
+                        ss.setSendstate(6L);
+                        serviceSubtaskMapper.updateServiceSubtask(ss);
+
                         String date = simpleDateFormat1.format(new Date());
                         log.info("灏卞彲浠ユ寕鏂數璇濅簡------: {},uuid涓猴細{}", date, phoneCallBackVO.getUuid());
                         redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES);
@@ -795,6 +809,11 @@
             } else {
                 log.error("闈欓粯娆℃暟杈惧埌,鎸傛帀鐢佃瘽锛歿}", num);
                 ServiceTask serviceTask1 = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+                ServiceSubtask ss = new ServiceSubtask();
+                ss.setId(serviceSubtask.getId());
+                ss.setSendstate(5L);
+                ss.setRemark("鐢佃瘽闈欓粯");
+                serviceSubtaskMapper.updateServiceSubtask(ss);
                 //澶т笌绛変簬鐨勮瘽,鐩存帴鎸傛柇
                 phoneCallBackYQVO.setType("text");
                 phoneCallBackYQVO.setSilent_interval(ivrTaskTemplate.getSilencetime().intValue());
@@ -858,6 +877,11 @@
                 if (ObjectUtils.isNotEmpty(les)) {
                     //瀵瑰尮閰嶇殑缁撴灉澶勭悊涓�涓�(鐪嬬湅鏄笉鏄渶瑕佹寕鏈�)
                     if (les.getIsEnd() != null && les.getIsEnd() == 1) {
+                        ServiceSubtask ss = new ServiceSubtask();
+                        ss.setId(serviceSubtask.getId());
+                        ss.setSendstate(6L);
+                        ss.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
+                        serviceSubtaskMapper.updateServiceSubtask(ss);
                         //鍙互鎸傛満浜�
                         redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone());
                         redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE");
@@ -961,6 +985,30 @@
                                 score = BigDecimal.valueOf(score).add(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getScore()).doubleValue();
                                 redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score, 120, TimeUnit.MINUTES);
                             }
+                            if (nextQuestion == null || nextQuestion == 0L) {
+                                //濡傛灉涓嬩竴棰樹负绌猴紝鎴栬�呬负0锛屽垯鎸傛満
+                                ServiceSubtask ss = new ServiceSubtask();
+                                ss.setId(serviceSubtask.getId());
+                                ss.setSendstate(6L);
+                                ss.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
+                                serviceSubtaskMapper.updateServiceSubtask(ss);
+                                redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone());
+                                redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE");
+                                redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop");
+                                redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "noVoice");
+                                //鍦╮edis涓繚瀛樹竴涓嬬粨鏉熻锛屽湪璋冪敤鎸傜數璇濈殑鏂规硶鏃跺垹闄�
+                                ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+                                redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", serviceTask.getJsy(), 120, TimeUnit.MINUTES);
+                                phoneCallBackYQVO.setType("text");
+                                phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask.getJsy());
+                                //灏嗙粨鏋滃啓杩沝etail琛�
+                                ServiceSubTaskDetailReq ssdReq = new ServiceSubTaskDetailReq();
+                                List<ServiceSubtaskDetail> serviceSubtaskDetailList2 = new ArrayList<>();
+                                serviceSubtaskDetailList.add(getServiceSubtaskDetail(phoneCallReqYQVO, ivrTaskTemplateScriptVO, serviceSubtask, ivrTaskTemplate));
+                                serviceSubTaskDetailReq.setServiceSubtaskDetailList(serviceSubtaskDetailList2);
+                                saveQuestionAnswerPhone(ssdReq);
+                                return phoneCallBackYQVO;
+                            }
 
                             for (IvrTaskTemplateScript script : ivrTaskTemplateScripts) {
                                 if (script.getSort() == nextQuestion.intValue()) {
@@ -985,6 +1033,8 @@
                             if (ObjectUtils.isNotEmpty(scoreObj)) score = (double) scoreObj;
                             serviceSubtask.setScore(BigDecimal.valueOf(score));
                             serviceSubtask.setFinishtime(new Date());
+                            serviceSubtask.setSendstate(6L);
+                            serviceSubtask.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
                             serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                             //璁剧疆缁撴潫璇�
                             phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask1.getJsy());
@@ -1049,6 +1099,8 @@
                             if (ObjectUtils.isNotEmpty(scoreObj)) score = (Double) scoreObj;
                             serviceSubtask.setScore(BigDecimal.valueOf(score));
                             serviceSubtask.setFinishtime(new Date());
+                            serviceSubtask.setSendstate(6L);
+                            serviceSubtask.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
                             serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
 
                             //鍦╮edis涓繚瀛樹竴涓嬬粨鏉熻锛屽湪璋冪敤鎸傜數璇濈殑鏂规硶鏃跺垹闄�
@@ -1146,6 +1198,8 @@
                     if (ObjectUtils.isNotEmpty(scoreObj)) score = (Double) scoreObj;
                     serviceSubtask.setScore(BigDecimal.valueOf(score));
                     serviceSubtask.setFinishtime(new Date());
+                    serviceSubtask.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
+                    serviceSubtask.setSendstate(6L);
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
 
                     //鍘籸edis涓紝鎶婅瀛愪换鍔D鍒犻櫎
@@ -1595,19 +1649,21 @@
                 i = serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail);
             }
         } else {
-            for (ServiceSubtaskDetail serviceSubtaskDetail : serviceSubTaskDetailReq.getServiceSubtaskDetailList()) {
-                serviceSubtaskDetail.setCreateTime(new Date());
-                //鍏堟牴鎹瓙浠诲姟id,浠诲姟ID鍜岄棶棰樺簭鍙锋煡璇竴涓嬶紝璇ラ棶棰樻槸鍚﹀凡缁忔湁鍊硷紝濡傛灉鏈夊�硷紝鐩存帴淇敼锛屽鏋滀负绌猴紝鐩存帴鎻掑叆
-                ServiceSubtaskDetail ssd = new ServiceSubtaskDetail();
-                ssd.setSubId(serviceSubtaskDetail.getSubId());
-                ssd.setTaskid(serviceSubtaskDetail.getTaskid());
-                ssd.setTemplatequestionnum(serviceSubtaskDetail.getTemplatequestionnum());
-                List<ServiceSubtaskDetail> serviceSubtaskDetails = serviceSubtaskDetailMapper.selectServiceSubtaskDetailList(ssd);
-                if (CollectionUtils.isNotEmpty(serviceSubtaskDetails) && StringUtils.isNotEmpty(serviceSubtaskDetails.get(0).getMatchedtext())) {
-                    serviceSubtaskDetail.setId(serviceSubtaskDetails.get(0).getId());
-                    serviceSubtaskDetailMapper.updateServiceSubtaskDetail(serviceSubtaskDetail);
-                } else {
-                    i = serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail);
+            if (serviceSubTaskDetailReq != null && CollectionUtils.isNotEmpty(serviceSubTaskDetailReq.getServiceSubtaskDetailList())) {
+                for (ServiceSubtaskDetail serviceSubtaskDetail : serviceSubTaskDetailReq.getServiceSubtaskDetailList()) {
+                    serviceSubtaskDetail.setCreateTime(new Date());
+                    //鍏堟牴鎹瓙浠诲姟id,浠诲姟ID鍜岄棶棰樺簭鍙锋煡璇竴涓嬶紝璇ラ棶棰樻槸鍚﹀凡缁忔湁鍊硷紝濡傛灉鏈夊�硷紝鐩存帴淇敼锛屽鏋滀负绌猴紝鐩存帴鎻掑叆
+                    ServiceSubtaskDetail ssd = new ServiceSubtaskDetail();
+                    ssd.setSubId(serviceSubtaskDetail.getSubId());
+                    ssd.setTaskid(serviceSubtaskDetail.getTaskid());
+                    ssd.setTemplatequestionnum(serviceSubtaskDetail.getTemplatequestionnum());
+                    List<ServiceSubtaskDetail> serviceSubtaskDetails = serviceSubtaskDetailMapper.selectServiceSubtaskDetailList(ssd);
+                    if (CollectionUtils.isNotEmpty(serviceSubtaskDetails) && StringUtils.isNotEmpty(serviceSubtaskDetails.get(0).getMatchedtext())) {
+                        serviceSubtaskDetail.setId(serviceSubtaskDetails.get(0).getId());
+                        serviceSubtaskDetailMapper.updateServiceSubtaskDetail(serviceSubtaskDetail);
+                    } else {
+                        i = serviceSubtaskDetailMapper.insertServiceSubtaskDetail(serviceSubtaskDetail);
+                    }
                 }
             }
         }

--
Gitblit v1.9.3