From 0b02577ab12ac83a0530b7e0495b513dd0cdabca Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 02 七月 2024 11:25:08 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |  356 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 200 insertions(+), 156 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
similarity index 71%
rename from smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java
rename to smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index c6bb3b5..a8e83f2 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -8,16 +8,18 @@
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
+import com.ruoyi.common.utils.RSAPublicKeyExample;
 import com.smartor.config.PhoneUtils;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
-import com.smartor.service.IIvrTaskService;
-import com.smartor.service.IIvrTaskSingleService;
+import com.smartor.service.IServiceSubtaskService;
+import com.smartor.service.IServiceTaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -35,27 +37,35 @@
  */
 @Slf4j
 @Service
-public class IvrTaskSingleServiceImpl implements IIvrTaskSingleService {
+public class ServiceSubtaskServiceImpl implements IServiceSubtaskService {
     @Autowired
-    private IvrTaskSingleMapper ivrTaskSingleMapper;
+    private ServiceSubtaskMapper serviceSubtaskMapper;
 
     @Autowired
-    private IIvrTaskService ivrTaskService;
+    private IvrTaskcalldetailMapper ivrTaskcalldetailMapper;
+    @Autowired
+    private SvyTasksingledetailMapper svyTasksingledetailMapper;
 
     @Autowired
-    private IvrTaskTemplateTargetoptionMapper ivrTaskScriptTargetoptionMapper;
+    private IServiceTaskService serviceTaskService;
 
     @Autowired
-    private IvrLibaTemplateScriptMapper ivrTaskTemplateScriptMapper;
+    private IvrTaskTemplateTargetoptionMapper serviceTaskScriptTargetoptionMapper;
 
     @Autowired
-    private IvrTaskVisitResultMapper ivrTaskVisitResultMapper;
+    private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper;
+
+    @Autowired
+    private IvrTaskVisitResultMapper serviceTaskVisitResultMapper;
 
     @Autowired
     private RedisCache redisCache;
 
     @Autowired
     private IvrLibaExtemplatescriptMapper ivrLibaExtemplatescriptMapper;
+
+    @Value("${pri_key}")
+    private String pri_key;
 
 
     /**
@@ -65,117 +75,119 @@
      * @return 鍗曚竴浠诲姟锛堥殢璁匡級
      */
     @Override
-    public IvrTaskSingle selectIvrTaskcallById(Long id) {
-        return ivrTaskSingleMapper.selectIvrTaskcallById(id);
+    public ServiceSubtask selectServiceSubtaskById(Long id) {
+        return serviceSubtaskMapper.selectServiceSubtaskById(id);
     }
 
     /**
      * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級鍒楄〃
      *
-     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
+     * @param ServiceSubtask 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 鍗曚竴浠诲姟锛堥殢璁匡級
      */
     @Override
-    public List<IvrTaskSingle> selectIvrTaskcallList(IvrTaskSingle ivrTaskcall) {
-        return ivrTaskSingleMapper.selectIvrTaskcallList(ivrTaskcall);
+    public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtask ServiceSubtask) {
+        return serviceSubtaskMapper.selectServiceSubtaskList(ServiceSubtask);
     }
 
     @Override
-    public IvrTaskVO queryTaskByCondition(IvrTaskSingle ivrTaskcall) {
+    public ServiceTaskVO queryTaskByCondition(ServiceSubtask ServiceSubtask) {
         //瀹氫箟鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�
         List<PatTaskRelevance> patTaskRelevances = new ArrayList<>();
-        List<IvrTaskSingle> list = selectIvrTaskcallList(ivrTaskcall);
+        List<ServiceSubtask> list = selectServiceSubtaskList(ServiceSubtask);
         if (CollectionUtils.isEmpty(list) || list.size() == 0) {
-            return new IvrTaskVO();
+            return new ServiceTaskVO();
         }
-        IvrTask ivrTask = ivrTaskService.selectIvrTaskByTaskid(ivrTaskcall.getTaskid());
-        //灏嗘煡鍑烘潵鐨勬暟鎹�掑叆ivrTasksingleVO涓�
-        IvrTaskVO ivrTaskVO = DtoConversionUtils.sourceToTarget(list.get(0), IvrTaskVO.class);
-        ivrTaskVO.setShowDate(ivrTask.getShowDate());
-        ivrTaskVO.setShowTimeMorn(ivrTask.getShowTimeMorn());
-        ivrTaskVO.setShowTimeNoon(ivrTask.getShowTimeNoon());
-        ivrTaskVO.setShowTimeNight(ivrTask.getShowTimeNight());
-        ivrTaskVO.setPreachform(ivrTask.getPreachform());
-        String sendTimeSlot = ivrTask.getSendTimeSlot();
+        ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(ServiceSubtask.getTaskid());
+        //灏嗘煡鍑烘潵鐨勬暟鎹�掑叆ServiceSubtaskVO涓�
+        ServiceTaskVO serviceTaskVO = DtoConversionUtils.sourceToTarget(list.get(0), ServiceTaskVO.class);
+        serviceTaskVO.setShowDate(serviceTask.getShowDate());
+        serviceTaskVO.setShowTimeMorn(serviceTask.getShowTimeMorn());
+        serviceTaskVO.setShowTimeNoon(serviceTask.getShowTimeNoon());
+        serviceTaskVO.setShowTimeNight(serviceTask.getShowTimeNight());
+        serviceTaskVO.setPreachform(serviceTask.getPreachform());
+        String sendTimeSlot = serviceTask.getSendTimeSlot();
         ObjectMapper objectMapper = new ObjectMapper();
         try {
             //鑾峰彇鍒板彂閫佹椂闂寸殑闆嗗悎
             if (com.ruoyi.common.utils.StringUtils.isNotEmpty(sendTimeSlot)) {
                 List<TaskSendTimeVO> taskSendTimeVOList = objectMapper.readValue(sendTimeSlot, List.class);
-                ivrTaskVO.setSendTimeslot(taskSendTimeVOList);
-                ivrTaskVO.setSendType(ivrTask.getSendType());
+                serviceTaskVO.setSendTimeslot(taskSendTimeVOList);
+                serviceTaskVO.setSendType(serviceTask.getSendType());
             }
             //鏂囨湰鍙橀噺鍙傛暟
-            if (com.ruoyi.common.utils.StringUtils.isNotEmpty(ivrTask.getTextParam())) {
-                Map<String, Map<String, String>> textParam = objectMapper.readValue(ivrTask.getTextParam(), Map.class);
-                ivrTaskVO.setTextParam(textParam);
+            if (com.ruoyi.common.utils.StringUtils.isNotEmpty(serviceTask.getTextParam())) {
+                Map<String, Map<String, String>> textParam = objectMapper.readValue(serviceTask.getTextParam(), Map.class);
+                serviceTaskVO.setTextParam(textParam);
             }
         } catch (JsonProcessingException e) {
             e.printStackTrace();
         }
 
-        for (IvrTaskSingle ivrTaskcall1 : list) {
+        for (ServiceSubtask serviceSubtask1 : list) {
             PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
-            if (!ivrTaskcall1.getHospType().equals("2")) {
-                log.info("闅忚鏌ヨ涓嶄负鍑洪櫌锛寋}", ivrTaskcall1.getHospType());
+            if (!serviceSubtask1.getHospType().equals("2")) {
+                log.info("闅忚鏌ヨ涓嶄负鍑洪櫌锛寋}", serviceSubtask1.getHospType());
                 //鑾峰彇鍒版偅鑰呬俊鎭紝骞舵斁鍏ュ埌闆嗗悎涓�
-                patTaskRelevance.setName(ivrTaskcall1.getSendname());
-                patTaskRelevance.setAge(ivrTaskcall1.getAge());
-                patTaskRelevance.setSfzh(ivrTaskcall1.getSfzh());
-                patTaskRelevance.setPhone(ivrTaskcall1.getPhone());
-                patTaskRelevance.setAddr(ivrTaskcall1.getAddr());
-                patTaskRelevance.setDiagname(ivrTaskcall1.getDiagname());
-                patTaskRelevance.setPatid(ivrTaskcall1.getPatid());
+                patTaskRelevance.setName(serviceSubtask1.getSendname());
+                patTaskRelevance.setAge(serviceSubtask1.getAge());
+                patTaskRelevance.setSfzh(serviceSubtask1.getSfzh());
+                patTaskRelevance.setPhone(serviceSubtask1.getPhone());
+                patTaskRelevance.setAddr(serviceSubtask1.getAddr());
+                patTaskRelevance.setDiagname(serviceSubtask1.getDiagname());
+                patTaskRelevance.setPatid(serviceSubtask1.getPatid());
+                patTaskRelevance.setSendState(serviceSubtask1.getSendstate());
                 patTaskRelevances.add(patTaskRelevance);
             }
-            if (ivrTaskcall1.getHospType().equals("2")) {
-                log.info("闅忚鏌ヨ涓哄嚭闄紝{}", ivrTaskcall1.getHospType());
-                patTaskRelevance.setName(ivrTaskcall1.getSendname());
-                patTaskRelevance.setAge(ivrTaskcall1.getAge());
-                patTaskRelevance.setSfzh(ivrTaskcall1.getSfzh());
-                patTaskRelevance.setPhone(ivrTaskcall1.getPhone());
-                patTaskRelevance.setAddr(ivrTaskcall1.getAddr());
-                patTaskRelevance.setDeptName(ivrTaskcall1.getDeptname());
-                patTaskRelevance.setBedNo(ivrTaskcall1.getBedNo());
-                patTaskRelevance.setDiagname(ivrTaskcall1.getDiagname());
-                patTaskRelevance.setPatid(ivrTaskcall1.getPatid());
+            if (serviceSubtask1.getHospType().equals("2")) {
+                log.info("闅忚鏌ヨ涓哄嚭闄紝{}", serviceSubtask1.getHospType());
+                patTaskRelevance.setName(serviceSubtask1.getSendname());
+                patTaskRelevance.setAge(serviceSubtask1.getAge());
+                patTaskRelevance.setSfzh(serviceSubtask1.getSfzh());
+                patTaskRelevance.setPhone(serviceSubtask1.getPhone());
+                patTaskRelevance.setAddr(serviceSubtask1.getAddr());
+                patTaskRelevance.setDeptName(serviceSubtask1.getDeptname());
+                patTaskRelevance.setBedNo(serviceSubtask1.getBedNo());
+                patTaskRelevance.setDiagname(serviceSubtask1.getDiagname());
+                patTaskRelevance.setPatid(serviceSubtask1.getPatid());
+                patTaskRelevance.setSendState(serviceSubtask1.getSendstate());
                 patTaskRelevances.add(patTaskRelevance);
             }
         }
 
-        ivrTaskVO.setPatTaskRelevances(patTaskRelevances);
-        return ivrTaskVO;
+        serviceTaskVO.setPatTaskRelevances(patTaskRelevances);
+        return serviceTaskVO;
     }
 
     @Override
-    public List<IvrTaskSingle> patItem(IvrTaskSingle ivrTaskSingle) {
+    public List<ServiceSubtask> patItem(ServiceSubtask serviceSubtask) {
 
 
-        return this.selectIvrTaskcallList(ivrTaskSingle);
+        return this.selectServiceSubtaskList(serviceSubtask);
     }
 
     /**
      * 鏂板鍗曚竴浠诲姟锛堥殢璁匡級
      *
-     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
+     * @param serviceSubtask 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 缁撴灉
      */
     @Override
-    public int insertIvrTaskcall(IvrTaskSingle ivrTaskcall) {
-        ivrTaskcall.setCreateTime(DateUtils.getNowDate());
-        return ivrTaskSingleMapper.insertIvrTaskcall(ivrTaskcall);
+    public int insertServiceSubtask(ServiceSubtask serviceSubtask) {
+        serviceSubtask.setCreateTime(DateUtils.getNowDate());
+        return serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
     }
 
     /**
      * 淇敼鍗曚竴浠诲姟锛堥殢璁匡級
      *
-     * @param ivrTaskcall 鍗曚竴浠诲姟锛堥殢璁匡級
+     * @param serviceSubtask 鍗曚竴浠诲姟锛堥殢璁匡級
      * @return 缁撴灉
      */
     @Override
-    public Boolean updateIvrTaskcall(IvrTaskSingle ivrTaskcall) {
-        ivrTaskcall.setUpdateTime(DateUtils.getNowDate());
-        return ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall);
+    public Boolean updateServiceSubtask(ServiceSubtask serviceSubtask) {
+        serviceSubtask.setUpdateTime(DateUtils.getNowDate());
+        return serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
     }
 
     /**
@@ -184,10 +196,10 @@
      * @return 缁撴灉
      */
     @Override
-    public int deleteIvrTaskcallByIds(Long[] ids) {
+    public int deleteServiceSubtaskByIds(Long[] ids) {
         Integer i = 0;
         for (Long id : ids) {
-            i = ivrTaskSingleMapper.deleteIvrTaskcallById(id);
+            i = serviceSubtaskMapper.deleteServiceSubtaskById(id);
         }
         return i;
     }
@@ -199,84 +211,83 @@
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public int insertOrUpdateTask(IvrTaskVO ivrTaskVO) {
-        if (ObjectUtils.isEmpty(ivrTaskVO)) {
+    public int insertOrUpdateTask(ServiceTaskVO serviceTaskVO) {
+        if (ObjectUtils.isEmpty(serviceTaskVO)) {
             log.info("浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
             throw new BaseException("浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
         }
         Integer integer = 1;
-        IvrTask ivrTask = DtoConversionUtils.sourceToTarget(ivrTaskVO, IvrTask.class);
-        ivrTask.setTextParam(JSON.toJSONString(ivrTaskVO.getTextParam()));
-        if (ivrTaskVO.getIsoperation() != null && ivrTaskVO.getIsoperation() == 1) {
+        ServiceTask serviceTask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceTask.class);
+        serviceTask.setTextParam(JSON.toJSONString(serviceTaskVO.getTextParam()));
+        if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 1) {
             //寰�浠诲姟琛ㄤ腑锛屾柊澧炰换鍔�
-            if (ObjectUtils.isNotEmpty(ivrTaskVO.getSendTimeslot()))
-                ivrTask.setSendTimeSlot(JSON.toJSONString(ivrTaskVO.getSendTimeslot()));
-            if (ivrTask.getSendState() == null) ivrTask.setSendState(1);
-            ivrTask.setTemplateid(ivrTaskVO.getLibtemplateid());
-            ivrTaskService.insertIvrTask(ivrTask);
+            if (ObjectUtils.isNotEmpty(serviceTaskVO.getSendTimeslot()))
+                serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot()));
+            if (serviceTask.getSendState() == null) serviceTask.setSendState(1);
+            serviceTask.setTemplateid(serviceTaskVO.getLibtemplateid());
+            serviceTaskService.insertServiceTask(serviceTask);
 
             //灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓�
-            IvrTaskSingle ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskVO, IvrTaskSingle.class);
-            ivrTaskcall.setTaskid(ivrTask.getTaskid().longValue());
+            ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class);
+            serviceSubtask.setTaskid(serviceTask.getTaskid().longValue());
             //鏂板
-            if (CollectionUtils.isNotEmpty(ivrTaskVO.getPatTaskRelevances())) {
-                for (PatTaskRelevance patTaskRelevance : ivrTaskVO.getPatTaskRelevances()) {
+            if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) {
+                for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) {
                     //灏嗕换鍔′俊鎭柊澧炲埌闅忚鏈嶅姟琛ㄤ腑
-                    ivrTaskcall.setSendname(patTaskRelevance.getName());
-                    ivrTaskcall.setAge(patTaskRelevance.getAge());
-                    ivrTaskcall.setSfzh(patTaskRelevance.getSfzh());
-                    ivrTaskcall.setPhone(patTaskRelevance.getPhone());
-                    ivrTaskcall.setAddr(patTaskRelevance.getAddr());
-                    ivrTaskcall.setPatid(patTaskRelevance.getPatid());
-                    ivrTaskcall.setCreateTime(DateUtils.getNowDate());
-                    ivrTaskcall.setSendstate(1L);
-                    ivrTaskcall.setType(ivrTaskVO.getHospType());
-                    ivrTaskSingleMapper.insertIvrTaskcall(ivrTaskcall);
-                    integer = ivrTaskcall.getId().intValue();
+                    serviceSubtask.setSendname(patTaskRelevance.getName());
+                    serviceSubtask.setAge(patTaskRelevance.getAge());
+                    serviceSubtask.setSfzh(patTaskRelevance.getSfzh());
+                    serviceSubtask.setPhone(patTaskRelevance.getPhone());
+                    serviceSubtask.setAddr(patTaskRelevance.getAddr());
+                    serviceSubtask.setPatid(patTaskRelevance.getPatid());
+                    serviceSubtask.setCreateTime(DateUtils.getNowDate());
+                    serviceSubtask.setSendstate(1L);
+                    serviceSubtask.setType(serviceTaskVO.getHospType());
+                    serviceSubtask.setHospType(patTaskRelevance.getHospType());
+                    serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
+                    integer = serviceSubtask.getId().intValue();
                 }
             }
 
-        } else if (ivrTaskVO.getIsoperation() != null && ivrTaskVO.getIsoperation() == 2) {
+        } else if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 2) {
             //浠诲姟淇敼
-            if (ObjectUtils.isNotEmpty(ivrTaskVO.getSendTimeslot()))
-                ivrTask.setSendTimeSlot(JSON.toJSONString(ivrTaskVO.getSendTimeslot()));
+            if (ObjectUtils.isNotEmpty(serviceTaskVO.getSendTimeslot()))
+                serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot()));
             //淇敼鎿嶄綔锛岄渶瑕佸皢stopState鐘舵��+1
-            IvrTask ivrTask1 = ivrTaskService.selectIvrTaskByTaskid(ivrTask.getTaskid());
-            ivrTask.setStopState(ivrTask1.getStopState() + 1);
-            ivrTask.setTemplateid(ivrTaskVO.getLibtemplateid());
-            ivrTaskService.updateIvrTask(ivrTask);
+            ServiceTask serviceTask1 = serviceTaskService.selectServiceTaskByTaskid(serviceTask.getTaskid());
+            serviceTask.setStopState(serviceTask1.getStopState() + 1);
+            serviceTask.setTemplateid(serviceTaskVO.getLibtemplateid());
+            serviceTaskService.updateServiceTask(serviceTask);
 
-            if (CollectionUtils.isNotEmpty(ivrTaskVO.getPatTaskRelevances())) {
-                for (PatTaskRelevance patTaskRelevance : ivrTaskVO.getPatTaskRelevances()) {
+            if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) {
+                for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) {
 
-                    IvrTaskSingle ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskVO, IvrTaskSingle.class);
-                    ivrTaskcall.setSendname(patTaskRelevance.getName());
-                    ivrTaskcall.setAge(patTaskRelevance.getAge());
-                    ivrTaskcall.setSfzh(patTaskRelevance.getSfzh());
-                    ivrTaskcall.setPhone(patTaskRelevance.getPhone());
-                    ivrTaskcall.setAddr(patTaskRelevance.getAddr());
-                    ivrTaskcall.setPatid(patTaskRelevance.getPatid());
-                    ivrTaskcall.setType(ivrTaskVO.getHospType());
-                    ivrTaskcall.setCreateTime(DateUtils.getNowDate());
-
-                    ivrTaskcall.setTextParam(new Gson().toJson(ivrTaskVO.getTextParam()));
+                    ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class);
+                    serviceSubtask.setSendname(patTaskRelevance.getName());
+                    serviceSubtask.setAge(patTaskRelevance.getAge());
+                    serviceSubtask.setSfzh(patTaskRelevance.getSfzh());
+                    serviceSubtask.setPhone(patTaskRelevance.getPhone());
+                    serviceSubtask.setAddr(patTaskRelevance.getAddr());
+                    serviceSubtask.setPatid(patTaskRelevance.getPatid());
+                    serviceSubtask.setType(serviceTaskVO.getHospType());
+                    serviceSubtask.setCreateTime(DateUtils.getNowDate());
+                    serviceSubtask.setHospType(patTaskRelevance.getHospType());
+                    serviceSubtask.setTextParam(new Gson().toJson(serviceTaskVO.getTextParam()));
                     if (patTaskRelevance.getIsoperation() != null) {
                         if (patTaskRelevance.getIsoperation() == 2)
-                            ivrTaskSingleMapper.updateIvrTaskcallByCondition(ivrTaskcall);
+                            serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
                         if (patTaskRelevance.getIsoperation() == 1) {
-                            ivrTaskcall.setSendstate(1L);
-                            ivrTaskSingleMapper.insertIvrTaskcall(ivrTaskcall);
+                            serviceSubtask.setSendstate(1L);
+                            serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
                         }
                         if (patTaskRelevance.getIsoperation() == 3)
                             //  閫氳繃taskid鍜宲atid鍘诲垹闄よ鏉℃暟鎹�
-                            ivrTaskSingleMapper.deleteIvrTaskcallByCondition(ivrTaskVO.getTaskid(), patTaskRelevance.getPatid());
+                            serviceSubtaskMapper.deleteServiceSubtaskByCondition(serviceTaskVO.getTaskid(), patTaskRelevance.getPatid());
                     }
-                    integer = ivrTaskcall.getTaskid().intValue();
+                    integer = serviceSubtask.getTaskid().intValue();
                 }
             }
         }
-
-
         return integer;
     }
 
@@ -303,14 +314,14 @@
         }
 
         Map<String, Object> map = redisCache.getCacheObject(phoneCallBackVO.getUuid());
-        IvrTaskSingle ivrTaskcall = (IvrTaskSingle) map.get("ivrTaskSingle");
-        List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOs = (List<IvrTaskTemplateScriptVO>) map.get("ivrTaskTemplateScriptVO");
+        ServiceSubtask serviceSubtask = (ServiceSubtask) map.get("ServiceSubtask");
+        List<IvrTaskTemplateScriptVO> IvrTaskTemplateScriptVOs = (List<IvrTaskTemplateScriptVO>) map.get("IvrTaskTemplateScriptVO");
         //灏唘uid鏇存柊鍒版暟鎹簱涓�
-        ivrTaskcall.setSenduuid(phoneCallBackVO.getUuid());
-        ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall);
+        serviceSubtask.setSenduuid(phoneCallBackVO.getUuid());
+        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
 
         //鑾峰彇妯℃澘淇℃伅
-        IvrTaskTemplateVO ivrTaskTemplateVO = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "ivrTaskTemplateVO");
+        IvrTaskTemplateVO ivrTaskTemplateVO = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "IvrTaskTemplateVO");
 
         //璇煶璇嗗埆缁撴灉涓婃姤鎺ュ彛: 3
         Integer noVoice = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "noVoice");
@@ -325,7 +336,7 @@
             //鍒ゆ柇noVoice鏄惁宸茬粡鍒颁簡鏈�澶у��
             if (noVoice == ivrTaskTemplateVO.getNoVoiceNum().intValue()) {
                 //宸茬粡闂簡瀵瑰簲鐨勯亶鏁帮紝灏卞垽鏂槸鍚﹁繕鏈変笅涓�棰�
-                if (nowQuestion.getTargetid() == ivrTaskTemplateScriptVOs.size()) {
+                if (nowQuestion.getTargetid() == IvrTaskTemplateScriptVOs.size()) {
                     //娌℃湁涓嬩竴棰樹簡锛屽氨鎸傛柇鐢佃瘽锛屾挱鏀剧粨鏉熻
                     redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES);
                     phoneUtils.ttsPlayback(ivrTaskTemplateVO.getRevisitAfter(), phoneCallBackVO.getUuid());
@@ -333,7 +344,7 @@
                 } else {
                     //鏈変笅涓�棰�
                     redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", 0, 120, TimeUnit.MINUTES);
-                    IvrTaskTemplateScriptVO nextQuestion = getNextQuestion(ivrTaskTemplateScriptVOs, nowQuestion);
+                    IvrTaskTemplateScriptVO nextQuestion = getNextQuestion(IvrTaskTemplateScriptVOs, nowQuestion);
                     // 闂锛�  鍘昏皟鐢ㄢ�渢ts鍚堟垚鍜屾挱鏀锯�濇帴鍙�
                     String date = simpleDateFormat1.format(new Date());
                     log.info("鍘昏皟鐢╰ts鍚堟垚鍜屾挱鏀炬帴鍙�: {},uuid涓猴細{}", date, phoneCallBackVO.getUuid());
@@ -372,35 +383,35 @@
                     //璇存槑鍖归厤姝g‘浜�
                     //杩欓噷搴旇鍏堝垽鏂被鍨嬶紝鍘诲啀淇敼锛岃缃甀sUserOperation鏄崟閫夐鐨勬敼娉�
                     nowQuestion.getIvrTaskScriptTargetoptionList().get(j).setIsUserOperation(true);
-                    ivrTaskScriptTargetoptionMapper.updateIvrTaskTemplateTargetoption(nowQuestion.getIvrTaskScriptTargetoptionList().get(j));
+                    serviceTaskScriptTargetoptionMapper.updateIvrTaskTemplateTargetoption(nowQuestion.getIvrTaskScriptTargetoptionList().get(j));
 
                     //灏嗛潤榛樼疆涓�0
                     redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", 0, 120, TimeUnit.MINUTES);
                     redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", 0, 120, TimeUnit.MINUTES);
 
                     //灏嗘偅鑰呯殑鍥炵鍐欒繘琛ㄩ噷
-                    IvrTaskVisitResult ivrTaskVisitResult = DtoConversionUtils.sourceToTarget(ivrTaskcall, IvrTaskVisitResult.class);
-                    ivrTaskVisitResult.setId(null);
-                    ivrTaskVisitResult.setQuestion(nowQuestion.getQuestionText());
-                    ivrTaskVisitResult.setPatientAnswer(phoneCallBackVO.getTextResult());
-                    ivrTaskVisitResult.setCreateTime(new Date());
-                    ivrTaskVisitResult.setOptionResult(nowQuestion.getIvrTaskScriptTargetoptionList().get(j).getTargetvalue());
-                    ivrTaskVisitResultMapper.insertIvrTaskVisitResult(ivrTaskVisitResult);
+                    IvrTaskVisitResult serviceTaskVisitResult = DtoConversionUtils.sourceToTarget(serviceSubtask, IvrTaskVisitResult.class);
+                    serviceTaskVisitResult.setId(null);
+                    serviceTaskVisitResult.setQuestion(nowQuestion.getQuestionText());
+                    serviceTaskVisitResult.setPatientAnswer(phoneCallBackVO.getTextResult());
+                    serviceTaskVisitResult.setCreateTime(new Date());
+                    serviceTaskVisitResult.setOptionResult(nowQuestion.getIvrTaskScriptTargetoptionList().get(j).getTargetvalue());
+                    serviceTaskVisitResultMapper.insertIvrTaskVisitResult(serviceTaskVisitResult);
 
                     //灏嗗尮閰嶅埌鐨勬爣璇嗘敼鎴恡rue
                     isppd = true;
 
                     //鑾峰彇涓嬩竴棰�
                     Long nextQuestion = nowQuestion.getIvrTaskScriptTargetoptionList().get(j).getNextQuestion();
-                    for (IvrTaskTemplateScriptVO script : ivrTaskTemplateScriptVOs) {
+                    for (IvrTaskTemplateScriptVO script : IvrTaskTemplateScriptVOs) {
                         if (script.getTargetid() == nextQuestion) {
                             QuestionMessage questionMessage = new QuestionMessage();
                             questionMessage.setNowQuestion(script);
-                            questionMessage.setQuestionList(ivrTaskTemplateScriptVOs);
+                            questionMessage.setQuestionList(IvrTaskTemplateScriptVOs);
                             redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES);
                             phoneUtils.ttsPlayback(script.getQuestionText(), phoneCallBackVO.getUuid());
                             return;
-                        } else if (nextQuestion > ivrTaskTemplateScriptVOs.size()) {
+                        } else if (nextQuestion > IvrTaskTemplateScriptVOs.size()) {
                             //娌℃湁涓嬩竴棰樹簡锛屽氨缁撴潫浜�
                             String date = simpleDateFormat1.format(new Date());
                             log.error("娌℃湁涓嬩竴棰樹簡锛屽氨缁撴潫浜�: {},uuid涓猴細{}", date, phoneCallBackVO.getUuid());
@@ -430,10 +441,10 @@
                 //鏃犲尮閰嶆鏁板幓鍒ゆ柇鏄惁鍒版渶澶ц闂鏁帮紝骞朵笖鎵�鏈夌殑閫夐」閮藉尮閰嶅畬浜�
                 if (mateNum == ivrTaskTemplateVO.getMateNum().intValue()) {
                     //濡傛灉涓嬩竴棰樹负绌�.鍒欐柊鐨勬暟鎹繑鍥�,骞跺姞涓婃劅璋㈣
-                    if (nowQuestion.getTargetid() < ivrTaskTemplateScriptVOs.size()) {
+                    if (nowQuestion.getTargetid() < IvrTaskTemplateScriptVOs.size()) {
                         QuestionMessage questionMessage = new QuestionMessage();
-                        IvrTaskTemplateScriptVO nextQuestion = getNextQuestion(ivrTaskTemplateScriptVOs, nowQuestion);
-                        questionMessage.setQuestionList(ivrTaskTemplateScriptVOs);
+                        IvrTaskTemplateScriptVO nextQuestion = getNextQuestion(IvrTaskTemplateScriptVOs, nowQuestion);
+                        questionMessage.setQuestionList(IvrTaskTemplateScriptVOs);
                         questionMessage.setNowQuestion(nextQuestion);
                         redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES);
                         redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", 0, 120, TimeUnit.MINUTES);
@@ -540,11 +551,11 @@
 ////            e.printStackTrace();
 ////        }
 //
-//        IvrTaskSingle ivrTaskcall = (IvrTaskSingle) map.get("ivrTaskcall");
+//        ServiceSubtask ServiceSubtask = (ServiceSubtask) map.get("ServiceSubtask");
 //        List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOs = (List<IvrLibaTemplateScriptVO>) map.get("ivrLibaTemplateScriptVO");
 //        //灏唘uid鏇存柊鍒版暟鎹簱涓�
-//        ivrTaskcall.setSenduuid(phoneCallBackVO.getUuid());
-//        ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall);
+//        ServiceSubtask.setSenduuid(phoneCallBackVO.getUuid());
+//        ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask);
 //
 //        //鑾峰彇妯℃澘淇℃伅
 //        IvrLibaTemplateVO ivrLibaTemplateVO = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "ivrLibaTemplateVO");
@@ -562,16 +573,16 @@
 //                    redisCache.setCacheObject(phoneCallBackVO.getUuid() + "uint8", 1, 120, TimeUnit.MINUTES);
 //                }
 //
-//                if (integer != null && integer == ivrTaskcall.getRecallcount().intValue()) {
+//                if (integer != null && integer == ServiceSubtask.getRecallcount().intValue()) {
 //                    log.info("鏃犱汉鎺ュ惉锛歿},   {}", phoneCallBackVO.getErrResult(), phoneCallBackVO.getUuid());
 //                    //杩炵画鎵撹瀹氭锛屽鏋滆娌′汉鎺ワ紝閭e氨缁撴潫
-//                    ivrTaskcall.setResult(phoneCallBackVO.getErrResult());
-//                    ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall);
+//                    ServiceSubtask.setResult(phoneCallBackVO.getErrResult());
+//                    ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask);
 //                    redisCache.deleteObject(phoneCallBackVO.getUuid() + "uint8");
-//                } else if (integer != null && integer < ivrTaskcall.getRecallcount().intValue()) {
+//                } else if (integer != null && integer < ServiceSubtask.getRecallcount().intValue()) {
 //                    //杩涜閲嶆嫧
 //                    PhoneUtils phoneUtils = new PhoneUtils();
-//                    phoneUtils.ob(null, null, null, null, null, null, null, ivrTaskcall.getPhone(), phoneCallBackVO.getUuid(), true);
+//                    phoneUtils.ob(null, null, null, null, null, null, null, ServiceSubtask.getPhone(), phoneCallBackVO.getUuid(), true);
 //                }
 //            }
 //
@@ -581,20 +592,20 @@
 //                // 0-鎸搩
 //                Integer integer = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "enumState");
 //
-//                if (integer != null && integer < ivrTaskcall.getRecallcount().intValue()) {
+//                if (integer != null && integer < ServiceSubtask.getRecallcount().intValue()) {
 //                    redisCache.setCacheObject(phoneCallBackVO.getUuid() + "enumState", integer + 1, 120, TimeUnit.MINUTES);
 //                } else if (integer == null) {
 //                    redisCache.setCacheObject(phoneCallBackVO.getUuid() + "enumState", 1, 120, TimeUnit.MINUTES);
-//                } else if (integer != null && integer == ivrTaskcall.getRecallcount().intValue()) {
-//                    ivrTaskcall.setResult("鏃犱汉鎺ュ惉");
-//                    ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall);
+//                } else if (integer != null && integer == ServiceSubtask.getRecallcount().intValue()) {
+//                    ServiceSubtask.setResult("鏃犱汉鎺ュ惉");
+//                    ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask);
 //                    redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState");
 //                }
 //            } else if (phoneCallBackVO.getEnumState() == 2) {
 //                //鎮h�呮寕鏂數璇�
 //                log.info("鎮h�呮寕鏂數璇濓細{}", phoneCallBackVO.getUuid());
-//                ivrTaskcall.setResult(phoneCallBackVO.getHangUpResult());
-//                ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall);
+//                ServiceSubtask.setResult(phoneCallBackVO.getHangUpResult());
+//                ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask);
 //                redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState");
 //            }
 //
@@ -749,13 +760,46 @@
 //        return phoneCallBackVO;
 //    }
 
+    @Override
+    public Integer saveQuestionAnswer(ServiceSubTaskDetailReq serviceSubTaskDetailReq) {
+        RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
+        Long tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskDetailReq.getParam1(), pri_key));
+        Long pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceSubTaskDetailReq.getParam2(), pri_key));
+        ServiceSubtask ivrTaskSingle = new ServiceSubtask();
+        ivrTaskSingle.setTaskid(tid);
+        ivrTaskSingle.setPatid(pid);
+        List<ServiceSubtask> ivrTaskSingles = serviceSubtaskMapper.selectServiceSubtaskList(ivrTaskSingle);
+        if (CollectionUtils.isEmpty(ivrTaskSingles) || ivrTaskSingles.size() == 0) {
+            log.error("鎶ラ敊浜嗭紝ivrTaskSingles鏁版嵁涓虹┖浜嗭細{}", ivrTaskSingle);
+            return 0;
+        }
+        int i = 0;
+        if (CollectionUtils.isNotEmpty(serviceSubTaskDetailReq.getIvrTaskcalldetailList())) {
+            //闅忚
+            for (IvrTaskcalldetail ivrTaskcalldetail : serviceSubTaskDetailReq.getIvrTaskcalldetailList()) {
+                ivrTaskcalldetail.setCallid(ivrTaskSingles.get(0).getId().toString());
+                ivrTaskcalldetail.setCalldetailid(UUID.randomUUID().toString());
+                ivrTaskcalldetail.setCreateTime(new Date());
+                i = ivrTaskcalldetailMapper.insertIvrTaskcalldetail(ivrTaskcalldetail);
+            }
+        } else if (CollectionUtils.isNotEmpty(serviceSubTaskDetailReq.getSvyTasksingledetailList())) {
+            //闂嵎
+            for (SvyTasksingledetail svyTasksingledetail : serviceSubTaskDetailReq.getSvyTasksingledetailList()) {
+                svyTasksingledetail.setCallid(ivrTaskSingles.get(0).getId().toString());
+                svyTasksingledetail.setCalldetailid(UUID.randomUUID().toString());
+                svyTasksingledetail.setCreateTime(new Date());
+                i = svyTasksingledetailMapper.insertSvyTasksingledetail(svyTasksingledetail);
+            }
+        }
+        return i;
+    }
 
-    private IvrTaskTemplateScriptVO getNextQuestion(List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOList, IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO) {
+    private IvrTaskTemplateScriptVO getNextQuestion(List<IvrTaskTemplateScriptVO> IvrTaskTemplateScriptVOList, IvrTaskTemplateScriptVO IvrTaskTemplateScriptVO) {
 
-        for (int j = 0; j < ivrTaskTemplateScriptVOList.size(); j++) {
-            if (ivrTaskTemplateScriptVOList.get(j).getTargetid() == ivrTaskTemplateScriptVO.getTargetid() + 1) {
+        for (int j = 0; j < IvrTaskTemplateScriptVOList.size(); j++) {
+            if (IvrTaskTemplateScriptVOList.get(j).getTargetid() == IvrTaskTemplateScriptVO.getTargetid() + 1) {
                 // 瀵硅鏉emplateScriptVO杩涜澶勭悊
-                return ivrTaskTemplateScriptVOList.get(j);
+                return IvrTaskTemplateScriptVOList.get(j);
             }
         }
         return null;

--
Gitblit v1.9.3