From afb277a81e060c6275f11e9f9f102b5dcfd80a72 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 27 六月 2024 09:46:05 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java | 144 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 119 insertions(+), 25 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 1001557..cb2053c 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrTaskServiceImpl.java
@@ -1,96 +1,190 @@
package com.smartor.service.impl;
-import java.util.List;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+
+import com.alibaba.fastjson2.JSON;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.DtoConversionUtils;
+import org.apache.commons.lang3.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;
/**
* 璇煶浠诲姟Service涓氬姟灞傚鐞�
- *
+ *
* @author smartor
* @date 2023-03-24
*/
+@Slf4j
@Service
-public class IvrTaskServiceImpl implements IIvrTaskService
-{
+public class IvrTaskServiceImpl implements IIvrTaskService {
@Autowired
private IvrTaskMapper ivrTaskMapper;
+ @Autowired
+ private IvrTaskSingleMapper ivrTaskcallMapper;
+
+ @Autowired
+ private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper;
+
+ @Autowired
+ private PatArchiveMapper patArchiveMapper;
+
+ @Autowired
+ private IvrLibaTemplateTargetoptionMapper ivrLibaTemplateTargetOptionMapper;
+
+ @Autowired
+ private RedisCache redisCache;
+
/**
* 鏌ヨ璇煶浠诲姟
- *
+ *
* @param taskid 璇煶浠诲姟涓婚敭
* @return 璇煶浠诲姟
*/
@Override
- public IvrTask selectIvrTaskByTaskid(Long taskid)
- {
+ public IvrTask selectIvrTaskByTaskid(Long taskid) {
return ivrTaskMapper.selectIvrTaskByTaskid(taskid);
}
/**
* 鏌ヨ璇煶浠诲姟鍒楄〃
- *
+ *
* @param ivrTask 璇煶浠诲姟
* @return 璇煶浠诲姟
*/
@Override
- public List<IvrTask> selectIvrTaskList(IvrTask ivrTask)
- {
+ public List<IvrTask> selectIvrTaskList(IvrTask ivrTask) {
return ivrTaskMapper.selectIvrTaskList(ivrTask);
}
/**
* 鏂板璇煶浠诲姟
- *
+ *
* @param ivrTask 璇煶浠诲姟
* @return 缁撴灉
*/
@Override
- public int insertIvrTask(IvrTask ivrTask)
- {
+ public int insertIvrTask(IvrTask ivrTask) {
ivrTask.setCreateTime(DateUtils.getNowDate());
return ivrTaskMapper.insertIvrTask(ivrTask);
}
/**
* 淇敼璇煶浠诲姟
- *
+ *
* @param ivrTask 璇煶浠诲姟
* @return 缁撴灉
*/
@Override
- public int updateIvrTask(IvrTask ivrTask)
- {
+ public int updateIvrTask(IvrTask ivrTask) {
ivrTask.setUpdateTime(DateUtils.getNowDate());
return ivrTaskMapper.updateIvrTask(ivrTask);
}
/**
* 鎵归噺鍒犻櫎璇煶浠诲姟
- *
+ *
* @param taskids 闇�瑕佸垹闄ょ殑璇煶浠诲姟涓婚敭
* @return 缁撴灉
*/
@Override
- public int deleteIvrTaskByTaskids(Long[] taskids)
- {
+ public int deleteIvrTaskByTaskids(Long[] taskids) {
return ivrTaskMapper.deleteIvrTaskByTaskids(taskids);
}
/**
* 鍒犻櫎璇煶浠诲姟淇℃伅
- *
+ *
* @param taskid 璇煶浠诲姟涓婚敭
* @return 缁撴灉
*/
+ @Transactional(rollbackFor = Exception.class)
@Override
- public int deleteIvrTaskByTaskid(Long taskid)
- {
- return ivrTaskMapper.deleteIvrTaskByTaskid(taskid);
+ public Boolean deleteIvrTaskByTaskid(Long taskid) {
+ IvrTaskSingle ivrTaskcall = new IvrTaskSingle();
+ ivrTaskcall.setTaskid(taskid);
+ ivrTaskcall.setDelFlag("1");
+ Boolean aBoolean = ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall);
+ Boolean isSuccess = false;
+ if (!aBoolean) {
+ new BaseException("浠诲姟鍒犻櫎澶辫触");
+ }
+ 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