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