From ef81a5cbfbb98974ed1ba54d0e47b7e74a9b96b9 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 06 六月 2024 15:33:55 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java | 194 ++++++++++++++---------------------------------
1 files changed, 59 insertions(+), 135 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java
index 983c0a0..158c85a 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java
@@ -9,7 +9,6 @@
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.smartor.config.PhoneUtils;
-import com.smartor.config.RabbitMqCallPhoneConfig;
import com.smartor.domain.*;
import com.smartor.mapper.*;
import com.smartor.service.IIvrTaskService;
@@ -58,9 +57,6 @@
@Autowired
private IvrLibaExtemplatescriptMapper ivrLibaExtemplatescriptMapper;
- @Autowired
- private RabbitMqCallPhoneConfig rabbitMqCallPhoneConfig;
-
/**
* 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級
@@ -85,28 +81,34 @@
}
@Override
- public IvrTaskSingleVO queryTaskByCondition(IvrTaskSingle ivrTaskcall) {
+ public IvrTaskVO queryTaskByCondition(IvrTaskSingle ivrTaskcall) {
//瀹氫箟鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚�
List<PatTaskRelevance> patTaskRelevances = new ArrayList<>();
List<IvrTaskSingle> list = selectIvrTaskcallList(ivrTaskcall);
- if (CollectionUtils.isEmpty(list)) {
- new BaseException("璇ヤ换鍔′笉瀛樺湪");
+ if (CollectionUtils.isEmpty(list) || list.size() == 0) {
+ return new IvrTaskVO();
}
IvrTask ivrTask = ivrTaskService.selectIvrTaskByTaskid(ivrTaskcall.getTaskid());
//灏嗘煡鍑烘潵鐨勬暟鎹�掑叆ivrTasksingleVO涓�
- IvrTaskSingleVO ivrTasksingleVO2 = DtoConversionUtils.sourceToTarget(list.get(0), IvrTaskSingleVO.class);
+ 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();
ObjectMapper objectMapper = new ObjectMapper();
try {
//鑾峰彇鍒板彂閫佹椂闂寸殑闆嗗悎
if (com.ruoyi.common.utils.StringUtils.isNotEmpty(sendTimeSlot)) {
List<TaskSendTimeVO> taskSendTimeVOList = objectMapper.readValue(sendTimeSlot, List.class);
- ivrTasksingleVO2.setSendTimeslot(taskSendTimeVOList);
+ ivrTaskVO.setSendTimeslot(taskSendTimeVOList);
+ ivrTaskVO.setSendType(ivrTask.getSendType());
}
//鏂囨湰鍙橀噺鍙傛暟
- if (com.ruoyi.common.utils.StringUtils.isNotEmpty(list.get(0).getTextParam())) {
- Map<String, Map<String, String>> textParam = objectMapper.readValue(list.get(0).getTextParam(), Map.class);
- ivrTasksingleVO2.setTextParam(textParam);
+ if (com.ruoyi.common.utils.StringUtils.isNotEmpty(ivrTask.getTextParam())) {
+ Map<String, Map<String, String>> textParam = objectMapper.readValue(ivrTask.getTextParam(), Map.class);
+ ivrTaskVO.setTextParam(textParam);
}
} catch (JsonProcessingException e) {
e.printStackTrace();
@@ -123,6 +125,7 @@
patTaskRelevance.setPhone(ivrTaskcall1.getPhone());
patTaskRelevance.setAddr(ivrTaskcall1.getAddr());
patTaskRelevance.setDiagname(ivrTaskcall1.getDiagname());
+ patTaskRelevance.setPatid(ivrTaskcall1.getPatid());
patTaskRelevances.add(patTaskRelevance);
}
if (ivrTaskcall1.getHospType().equals("2")) {
@@ -135,12 +138,13 @@
patTaskRelevance.setDeptName(ivrTaskcall1.getDeptname());
patTaskRelevance.setBedNo(ivrTaskcall1.getBedNo());
patTaskRelevance.setDiagname(ivrTaskcall1.getDiagname());
+ patTaskRelevance.setPatid(ivrTaskcall1.getPatid());
patTaskRelevances.add(patTaskRelevance);
}
}
- ivrTasksingleVO2.setPatTaskRelevances(patTaskRelevances);
- return ivrTasksingleVO2;
+ ivrTaskVO.setPatTaskRelevances(patTaskRelevances);
+ return ivrTaskVO;
}
@Override
@@ -195,163 +199,83 @@
*/
@Transactional(rollbackFor = Exception.class)
@Override
- public int insertOrUpdateTask(IvrTaskSingleVO ivrTasksingleVO) {
- if (ObjectUtils.isEmpty(ivrTasksingleVO)) {
+ public int insertOrUpdateTask(IvrTaskVO ivrTaskVO) {
+ if (ObjectUtils.isEmpty(ivrTaskVO)) {
log.info("浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
throw new BaseException("浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
}
- Integer integer = 0;
- if (ivrTasksingleVO.getIsoperation() != null && ivrTasksingleVO.getIsoperation() == 1) {
+ Integer integer = 1;
+ IvrTask ivrTask = DtoConversionUtils.sourceToTarget(ivrTaskVO, IvrTask.class);
+ ivrTask.setTextParam(JSON.toJSONString(ivrTaskVO.getTextParam()));
+ if (ivrTaskVO.getIsoperation() != null && ivrTaskVO.getIsoperation() == 1) {
//寰�浠诲姟琛ㄤ腑锛屾柊澧炰换鍔�
- IvrTask ivrTask = DtoConversionUtils.sourceToTarget(ivrTasksingleVO, IvrTask.class);
- if (ObjectUtils.isNotEmpty(ivrTasksingleVO.getSendTimeslot()))
- ivrTask.setSendTimeSlot(JSON.toJSONString(ivrTasksingleVO.getSendTimeslot()));
+ 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);
- ivrTasksingleVO.setTaskid(ivrTask.getTaskid().longValue());
+
+ //灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓�
+ IvrTaskSingle ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskVO, IvrTaskSingle.class);
+ ivrTaskcall.setTaskid(ivrTask.getTaskid().longValue());
//鏂板
- if (CollectionUtils.isNotEmpty(ivrTasksingleVO.getPatTaskRelevances())) {
- for (PatTaskRelevance patTaskRelevance : ivrTasksingleVO.getPatTaskRelevances()) {
+ if (CollectionUtils.isNotEmpty(ivrTaskVO.getPatTaskRelevances())) {
+ for (PatTaskRelevance patTaskRelevance : ivrTaskVO.getPatTaskRelevances()) {
//灏嗕换鍔′俊鎭柊澧炲埌闅忚鏈嶅姟琛ㄤ腑
- IvrTaskSingle ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTasksingleVO, 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.setCreateTime(DateUtils.getNowDate());
- ivrTaskcall.setTextParam(new Gson().toJson(patTaskRelevance.getTextParam()));
+ ivrTaskcall.setCreateTime(DateUtils.getNowDate());
+ ivrTaskcall.setType(ivrTaskVO.getHospType());
ivrTaskSingleMapper.insertIvrTaskcall(ivrTaskcall);
integer = ivrTaskcall.getId().intValue();
}
}
- } else if (ivrTasksingleVO.getIsoperation() != null && ivrTasksingleVO.getIsoperation() == 2) {
+ } else if (ivrTaskVO.getIsoperation() != null && ivrTaskVO.getIsoperation() == 2) {
//浠诲姟淇敼
- IvrTask ivrTask = DtoConversionUtils.sourceToTarget(ivrTasksingleVO, IvrTask.class);
- if (ObjectUtils.isNotEmpty(ivrTasksingleVO.getSendTimeslot()))
- ivrTask.setSendTimeSlot(JSON.toJSONString(ivrTasksingleVO.getSendTimeslot()));
- //鑾峰彇琛ㄩ噷鐨剆topState鏁板�� + 1
+ if (ObjectUtils.isNotEmpty(ivrTaskVO.getSendTimeslot()))
+ ivrTask.setSendTimeSlot(JSON.toJSONString(ivrTaskVO.getSendTimeslot()));
+ //淇敼鎿嶄綔锛岄渶瑕佸皢stopState鐘舵��+1
IvrTask ivrTask1 = ivrTaskService.selectIvrTaskByTaskid(ivrTask.getTaskid());
ivrTask.setStopState(ivrTask1.getStopState() + 1);
+ ivrTask.setTemplateid(ivrTaskVO.getLibtemplateid());
ivrTaskService.updateIvrTask(ivrTask);
- if (CollectionUtils.isNotEmpty(ivrTasksingleVO.getPatTaskRelevances())) {
- for (PatTaskRelevance patTaskRelevance : ivrTasksingleVO.getPatTaskRelevances()) {
+ if (CollectionUtils.isNotEmpty(ivrTaskVO.getPatTaskRelevances())) {
+ for (PatTaskRelevance patTaskRelevance : ivrTaskVO.getPatTaskRelevances()) {
- IvrTaskSingle ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTasksingleVO, IvrTaskSingle.class);
+ 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(ivrTasksingleVO.getTextParam()));
- if (patTaskRelevance.getIsoperation() == 2) ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall);
- if (patTaskRelevance.getIsoperation() == 1) ivrTaskSingleMapper.insertIvrTaskcall(ivrTaskcall);
- integer = ivrTaskcall.getId().intValue();
+ ivrTaskcall.setTextParam(new Gson().toJson(ivrTaskVO.getTextParam()));
+ if (patTaskRelevance.getIsoperation() != null) {
+ if (patTaskRelevance.getIsoperation() == 2)
+ ivrTaskSingleMapper.updateIvrTaskcallByCondition(ivrTaskcall);
+ if (patTaskRelevance.getIsoperation() == 1) ivrTaskSingleMapper.insertIvrTaskcall(ivrTaskcall);
+ if (patTaskRelevance.getIsoperation() == 3)
+ // 閫氳繃taskid鍜宲atid鍘诲垹闄よ鏉℃暟鎹�
+ ivrTaskSingleMapper.deleteIvrTaskcallByCondition(ivrTaskVO.getTaskid(), patTaskRelevance.getPatid());
+ }
+ integer = ivrTaskcall.getTaskid().intValue();
}
}
-
- } else if (ivrTasksingleVO.getIsoperation() != null && ivrTasksingleVO.getIsoperation() == 3) {
- ivrTaskSingleMapper.deleteIvrTaskcallById(ivrTasksingleVO.getId());
-
- integer = ivrTasksingleVO.getId().intValue();
}
+
+
return integer;
}
- /**
- * 浠诲姟鍙戦��
- *
- * @return
- */
- @Override
- public int heTaskSend(SendTaskVO sendTaskVO) {
- if (sendTaskVO.getTaskId() == null) throw new BaseException("浠诲姟ID涓嶈兘涓虹┖锛岃妫�鏌ュ悗锛屽啀杩涜鎵ц");
- IvrTask ivrTask = ivrTaskService.selectIvrTaskByTaskid(sendTaskVO.getTaskId());
- if (StringUtils.isNotEmpty(sendTaskVO.getSendState()) && sendTaskVO.getSendState().equals("3") || StringUtils.isNotEmpty(sendTaskVO.getSendState()) && sendTaskVO.getSendState().equals("4")) {
- //浠诲姟鏆傚仠鎴栫粓姝�
- IvrTask ivrTask3 = new IvrTask();
- ivrTask3.setTaskid(sendTaskVO.getTaskId());
- ivrTask3.setStopState(ivrTask.getStopState() + 1);
- ivrTask3.setSendState(sendTaskVO.getSendState());
- ivrTaskService.updateIvrTask(ivrTask3);
- return 0;
- }
-
- //鍒ゆ柇鍙戦�佺姸鎬佹槸鍚︿负绌�
- if (StringUtils.isEmpty(sendTaskVO.getSendType())) {
- sendTaskVO.setSendType(ivrTask.getSendType().toString());
- }
-
- //鍒ゆ柇浠诲姟鏄惁鏄珛鍗冲彂閫�
- if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("2")) {
- IvrTaskcallMQ ivrTaskcallMQ = new IvrTaskcallMQ();
- ivrTaskcallMQ.setTaskid(sendTaskVO.getTaskId());
- ivrTaskcallMQ.setSendType(sendTaskVO.getSendType());
- ivrTaskcallMQ.setTemplateid(ivrTask.getTemplateid().toString());
- ivrTaskcallMQ.setStopState(ivrTask.getStopState());
-
- String ivrTaskcallMQJson = JSON.toJSONString(ivrTaskcallMQ);
- ivrTaskcallMQJson = ivrTaskcallMQJson.substring(1, ivrTaskcallMQJson.length() - 1);
- //绔嬪嵆鍙戦��
- rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.123", ivrTaskcallMQJson, 0L);
-
- //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
- IvrTask ivrTask2 = new IvrTask();
- ivrTask2.setTaskid(ivrTask.getTaskid());
- ivrTask2.setSendState("2");
- ivrTask2.setStopState(ivrTask.getStopState() + 1);
- ivrTaskService.updateIvrTask(ivrTask2);
- } else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1")) {
- //鏃堕棿娈靛彂閫�
- ObjectMapper objectMapper = new ObjectMapper();
- if (StringUtils.isNotEmpty(ivrTask.getSendTimeSlot())) {
- List<TaskSendTimeVO> taskSendTimeVOList = null;
- try {
- taskSendTimeVOList = objectMapper.readValue(ivrTask.getSendTimeSlot(), List.class);
- } catch (JsonProcessingException e) {
- log.error("JsonProcessingException鎶ラ敊浜嗭細{}", e.getMessage());
- }
- for (TaskSendTimeVO taskSendTimeVO : taskSendTimeVOList) {
- //鍘籗endTimeslot涓紝鑾峰彇鎵�鏈夌殑鏃堕棿娈�
- List<TaskSendTimeVO> list = new ArrayList<>();
- list.add(taskSendTimeVO);
-
- //鑾峰彇寮�濮嬪彂閫佹椂闂�
- String begantime = taskSendTimeVO.getBegantime();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- //璁板綍鐩墠鍒板彂閫佹椂闂寸殑姣鍊� 锛堝彂閫佹椂闂寸殑姣鍊� - 褰撳墠鏃堕棿鐨勬绉掑�硷級
- Long milliseconds = 1000L;
- try {
- Date date = sdf.parse(begantime);
- milliseconds = date.getTime() - System.currentTimeMillis();
- System.out.println("鏃ユ湡姣鏁帮細" + milliseconds);
- } catch (Exception e) {
- e.printStackTrace();
- }
- IvrTaskcallMQ ivrTaskcallMQ = new IvrTaskcallMQ();
- ivrTaskcallMQ.setTaskid(sendTaskVO.getTaskId());
- ivrTaskcallMQ.setSendType("1");
- ivrTaskcallMQ.setTemplateid(ivrTask.getTemplateid().toString());
- ivrTaskcallMQ.setSendTimeslot(list);
- ivrTaskcallMQ.setStopState(ivrTask.getStopState());
-
- Long finalMilliseconds = milliseconds;
- String ivrTaskcallMQJson = JSON.toJSONString(ivrTaskcallMQ);
- ivrTaskcallMQJson = ivrTaskcallMQJson.substring(1, ivrTaskcallMQJson.length() - 1);
- rabbitMqCallPhoneConfig.sendMessage("phone_exchange", "phone.123", ivrTaskcallMQJson, 0L);
- }
- //灏嗕换鍔$姸鎬佷慨鏀规垚鎵ц涓�
- IvrTask ivrTask2 = new IvrTask();
- ivrTask2.setTaskid(ivrTask.getTaskid());
- ivrTask2.setSendState("2");
- ivrTask2.setStopState(ivrTask.getStopState() + 1);
- ivrTaskService.updateIvrTask(ivrTask2);
- }
- }
- return 0;
- }
@Override
public void phoneCallBack(PhoneCallBackVO phoneCallBackVO) {
--
Gitblit v1.9.3