From e52b0e34fc06372aab64c30b526ec289b99c9af7 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 19 六月 2024 10:43:47 +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