From 2cba0d00dc45998105129a0c26cb546282cd39a8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 05 六月 2024 13:44:23 +0800
Subject: [PATCH] 随访功能测试:模板、任务、定时发送、公众号发送,流程走通

---
 smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java |   84 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 80 insertions(+), 4 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java
index df92b6b..b7c9096 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java
@@ -1,15 +1,22 @@
 package com.smartor.service.impl;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
-import com.smartor.domain.IvrTaskSingle;
-import com.smartor.mapper.IvrTaskSingleMapper;
+import com.ruoyi.common.utils.DtoConversionUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.smartor.domain.*;
+import com.smartor.mapper.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.smartor.mapper.IvrTaskMapper;
-import com.smartor.domain.IvrTask;
 import com.smartor.service.IIvrTaskService;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -19,6 +26,7 @@
  * @author smartor
  * @date 2023-03-24
  */
+@Slf4j
 @Service
 public class IvrTaskServiceImpl implements IIvrTaskService {
     @Autowired
@@ -26,6 +34,15 @@
 
     @Autowired
     private IvrTaskSingleMapper ivrTaskcallMapper;
+
+    @Autowired
+    private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper;
+
+    @Autowired
+    private PatArchiveMapper patArchiveMapper;
+
+    @Autowired
+    private IvrLibaTemplateTargetoptionMapper ivrLibaTemplateTargetOptionMapper;
 
     /**
      * 鏌ヨ璇煶浠诲姟
@@ -104,4 +121,63 @@
         isSuccess = ivrTaskMapper.deleteIvrTaskByTaskid(taskid);
         return isSuccess;
     }
+
+    @Override
+    public List<IvrLibaTemplateScriptVO> getScriptInfoByCondition(Long taskid, Long patid) {
+        //閫氳繃浠诲姟ID鑾峰彇妯℃澘ID
+        IvrTask ivrTask = selectIvrTaskByTaskid(taskid);
+
+        //閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
+        IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript();
+        ivrLibaTemplateScript.setTemplateID(ivrTask.getTemplateid());
+        ivrLibaTemplateScript.setDelFlag("0");
+        List<IvrLibaTemplateScript> ivrLibaTemplateScripts = ivrLibaTemplateScriptMapper.selectIvrLibaTemplateScriptList(ivrLibaTemplateScript);
+        if (CollectionUtils.isEmpty(ivrLibaTemplateScripts) || ivrLibaTemplateScripts.size() == 0) {
+            log.info("ivrLibaTemplateScripts涓虹┖浜嗭紝璇峰敖蹇仈绯荤鐞嗗憳澶勭悊");
+            return new ArrayList<>();
+        }
+        List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScripts, IvrLibaTemplateScriptVO.class);
+
+        //鑾峰彇鎮h�呬俊鎭�
+        PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid);
+
+        //閫氳繃鎮h�呬俊鎭拰浠诲姟淇℃伅涓殑textParam瀵归棶棰樹腑鐨勫彉閲忚繘琛屽~鍏�
+        ObjectMapper objectMapper = new ObjectMapper();
+        Map<String, Map<String, String>> ivrTaskMap = null;
+        try {
+            ivrTaskMap = objectMapper.readValue(ivrTask.getTextParam(), Map.class);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+        List<Map<String, String>> mapList = new ArrayList<>();
+
+        for (Map<String, String> map : ivrTaskMap.values()) {
+            mapList.add(map);
+        }
+
+        //灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹�
+        for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOS) {
+            if (StringUtils.isNotEmpty(ivrLibaTemplateScriptVO.getQuestionText())) {
+                for (Map<String, String> map : mapList) {
+                    for (String key : map.keySet()) {
+
+                        ivrLibaTemplateScriptVO.setQuestionText(ivrLibaTemplateScriptVO.getQuestionText().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
+                    }
+                }
+                //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
+                ivrLibaTemplateScriptVO.setQuestionText(ivrLibaTemplateScriptVO.getQuestionText().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
+                ivrLibaTemplateScriptVO.setQuestionText(ivrLibaTemplateScriptVO.getQuestionText().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
+                ivrLibaTemplateScriptVO.setQuestionText(ivrLibaTemplateScriptVO.getQuestionText().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
+
+                //鑾峰彇闂閫夐」
+                IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption();
+                ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getID());
+                List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption);
+                ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions);
+            }
+        }
+
+
+        return ivrLibaTemplateScriptVOS;
+    }
 }

--
Gitblit v1.9.3