From 63e17909e1eee7ff54c38827a4096cbad82e5dad Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 16 四月 2024 11:56:55 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java | 129 +++++++++++++++++++++++++++++++----------- 1 files changed, 95 insertions(+), 34 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java similarity index 81% rename from smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java rename to smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java index 6d4f7bf..8fc80bd 100644 --- a/smartor/src/main/java/com/smartor/service/impl/IvrTaskcallServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/IvrTaskSingleServiceImpl.java @@ -1,5 +1,6 @@ package com.smartor.service.impl; +import com.alibaba.fastjson2.JSON; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; @@ -11,17 +12,13 @@ import com.smartor.config.PhoneUtils; import com.smartor.config.RabbitMqConfig; import com.smartor.domain.*; -import com.smartor.mapper.IvrLibaExtemplatescriptMapper; -import com.smartor.mapper.IvrLibaTemplateTargetoptionMapper; -import com.smartor.mapper.IvrTaskcallMapper; -import com.smartor.service.IIvrTaskcallService; +import com.smartor.mapper.*; +import com.smartor.service.IIvrTaskService; +import com.smartor.service.IIvrTaskSingleService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; -import org.springframework.amqp.AmqpException; -import org.springframework.amqp.core.Message; -import org.springframework.amqp.core.MessagePostProcessor; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -41,9 +38,12 @@ */ @Slf4j @Service -public class IvrTaskcallServiceImpl implements IIvrTaskcallService { +public class IvrTaskSingleServiceImpl implements IIvrTaskSingleService { @Autowired - private IvrTaskcallMapper ivrTaskcallMapper; + private IvrTaskSingleMapper ivrTaskSingleMapper; + + @Autowired + private IIvrTaskService ivrTaskService; @Autowired private IvrLibaTemplateTargetoptionMapper ivrLibaScriptTargetoptionMapper; @@ -58,6 +58,13 @@ private RabbitTemplate rabbitTemplate; + @Autowired + private PatMedOuthospMapper patMedOuthospMapper; + + @Autowired + private PatMedInhospMapper patMedInhospMapper; + + /** * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級 * @@ -65,8 +72,8 @@ * @return 鍗曚竴浠诲姟锛堥殢璁匡級 */ @Override - public IvrTaskcall selectIvrTaskcallById(Long id) { - return ivrTaskcallMapper.selectIvrTaskcallById(id); + public IvrTaskSingle selectIvrTaskcallById(Long id) { + return ivrTaskSingleMapper.selectIvrTaskcallById(id); } /** @@ -76,8 +83,46 @@ * @return 鍗曚竴浠诲姟锛堥殢璁匡級 */ @Override - public List<IvrTaskcall> selectIvrTaskcallList(IvrTaskcall ivrTaskcall) { - return ivrTaskcallMapper.selectIvrTaskcallList(ivrTaskcall); + public List<IvrTaskSingle> selectIvrTaskcallList(IvrTaskSingle ivrTaskcall) { + return ivrTaskSingleMapper.selectIvrTaskcallList(ivrTaskcall); + } + + @Override + public List<IvrVisitInfoVo> patItem(IvrTaskSingle ivrTaskcall) { + List<IvrTaskSingle> list = this.selectIvrTaskcallList(ivrTaskcall); + + //瀹氫箟杩斿弬鏁版嵁 + List<IvrVisitInfoVo> visitInfoVos = new ArrayList<>(); + for (IvrTaskSingle ivrTaskcall1 : list) { + IvrVisitInfoVo ivrVisitInfoVo = DtoConversionUtils.sourceToTarget(ivrTaskcall1, IvrVisitInfoVo.class); + ivrVisitInfoVo.setPatientName(ivrTaskcall1.getSendname()); + if (ivrTaskcall.getRecordid() != null) { + if (ivrTaskcall1.getHospType().equals("1")) { + //闂ㄨ瘖闅忚 + PatMedOuthosp patMedOuthosp = patMedOuthospMapper.selectPatMedOuthospById(ivrTaskcall.getRecordid()); + ivrVisitInfoVo.setDiagname(patMedOuthosp.getDiagname()); + ivrVisitInfoVo.setDeptname(patMedOuthosp.getDeptname()); + ivrVisitInfoVo.setAdmitdate(patMedOuthosp.getAdmitdate()); + ivrVisitInfoVo.setVisitTime(ivrTaskcall1.getSendTimeSlot()); + ivrVisitInfoVo.setState(ivrTaskcall1.getSendstate()); + ivrVisitInfoVo.setHospno(patMedOuthosp.getOuthospno()); + visitInfoVos.add(ivrVisitInfoVo); + } else if (ivrTaskcall1.getHospType().equals("2")) { + //鍑洪櫌 + PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(ivrTaskcall.getRecordid()); + ivrVisitInfoVo.setDiagname(patMedInhosp.getDiagname()); + ivrVisitInfoVo.setDeptname(patMedInhosp.getDeptname()); + ivrVisitInfoVo.setAdmitdate(patMedInhosp.getStarttime()); + ivrVisitInfoVo.setVisitTime(ivrTaskcall1.getSendTimeSlot()); + ivrVisitInfoVo.setState(ivrTaskcall1.getSendstate()); + ivrVisitInfoVo.setHospno(patMedInhosp.getInhospno()); + ivrVisitInfoVo.setRoomno(patMedInhosp.getRoomno()); + ivrVisitInfoVo.setBedno(patMedInhosp.getBedno()); + visitInfoVos.add(ivrVisitInfoVo); + } + } + } + return visitInfoVos; } /** @@ -87,9 +132,9 @@ * @return 缁撴灉 */ @Override - public int insertIvrTaskcall(IvrTaskcall ivrTaskcall) { + public int insertIvrTaskcall(IvrTaskSingle ivrTaskcall) { ivrTaskcall.setCreateTime(DateUtils.getNowDate()); - return ivrTaskcallMapper.insertIvrTaskcall(ivrTaskcall); + return ivrTaskSingleMapper.insertIvrTaskcall(ivrTaskcall); } /** @@ -99,9 +144,9 @@ * @return 缁撴灉 */ @Override - public int updateIvrTaskcall(IvrTaskcall ivrTaskcall) { + public Boolean updateIvrTaskcall(IvrTaskSingle ivrTaskcall) { ivrTaskcall.setUpdateTime(DateUtils.getNowDate()); - return ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + return ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall); } /** @@ -114,7 +159,7 @@ public int deleteIvrTaskcallByIds(Long[] ids) { Integer i = 0; for (Long id : ids) { - i = ivrTaskcallMapper.deleteIvrTaskcallById(id); + i = ivrTaskSingleMapper.deleteIvrTaskcallById(id); } return i; } @@ -127,18 +172,23 @@ */ @Transactional(rollbackFor = Exception.class) @Override - public int insertOrUpdateTask(IvrTaskcallVO ivrTaskcallVO) { + public int insertOrUpdateTask(IvrTaskSingleVO ivrTaskcallVO) { if (ObjectUtils.isEmpty(ivrTaskcallVO)) { log.info("浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�"); throw new BaseException("浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�"); } Integer integer = 0; if (ivrTaskcallVO.getIsoperation() != null && ivrTaskcallVO.getIsoperation() == 1) { + //寰�浠诲姟琛ㄤ腑锛屾柊澧炰换鍔� + IvrTask ivrTask = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTask.class); + Integer taskId = ivrTaskService.insertIvrTask(ivrTask); + + ivrTaskcallVO.setTaskid(taskId.longValue()); //鏂板 if (CollectionUtils.isNotEmpty(ivrTaskcallVO.getPatTaskRelevances())) { for (PatTaskRelevance patTaskRelevance : ivrTaskcallVO.getPatTaskRelevances()) { //灏嗕换鍔′俊鎭柊澧炲埌瀹f暀浠诲姟琛ㄤ腑 - IvrTaskcall ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTaskcall.class); + IvrTaskSingle ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTaskSingle.class); ivrTaskcall.setSendname(patTaskRelevance.getName()); ivrTaskcall.setAge(patTaskRelevance.getAge()); ivrTaskcall.setSfzh(patTaskRelevance.getSfzh()); @@ -149,15 +199,20 @@ if (CollectionUtils.isNotEmpty(ivrTaskcallVO.getSendTimeslot())) { ivrTaskcall.setSendTimeSlot(ivrTaskcallVO.getSendTimeslot().toString()); } - ivrTaskcallMapper.insertIvrTaskcall(ivrTaskcall); + ivrTaskSingleMapper.insertIvrTaskcall(ivrTaskcall); integer = ivrTaskcall.getId().intValue(); } } } else if (ivrTaskcallVO.getIsoperation() != null && ivrTaskcallVO.getIsoperation() == 2) { + //浠诲姟淇敼 + IvrTask ivrTask = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTask.class); + ivrTaskService.updateIvrTask(ivrTask); + if (CollectionUtils.isNotEmpty(ivrTaskcallVO.getPatTaskRelevances())) { for (PatTaskRelevance patTaskRelevance : ivrTaskcallVO.getPatTaskRelevances()) { - IvrTaskcall ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTaskcall.class); + + IvrTaskSingle ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTaskSingle.class); ivrTaskcall.setSendname(patTaskRelevance.getName()); ivrTaskcall.setAge(patTaskRelevance.getAge()); ivrTaskcall.setSfzh(patTaskRelevance.getSfzh()); @@ -168,13 +223,14 @@ ivrTaskcall.setSendTimeSlot(ivrTaskcallVO.getSendTimeslot().toString()); } ivrTaskcall.setTextParam(new Gson().toJson(ivrTaskcallVO.getTextParam())); - ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + if (patTaskRelevance.getIsoperation() == 2) ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall); + if (patTaskRelevance.getIsoperation() == 1) ivrTaskSingleMapper.insertIvrTaskcall(ivrTaskcall); integer = ivrTaskcall.getId().intValue(); } } } else if (ivrTaskcallVO.getIsoperation() != null && ivrTaskcallVO.getIsoperation() == 3) { - ivrTaskcallMapper.deleteIvrTaskcallById(ivrTaskcallVO.getId()); + ivrTaskSingleMapper.deleteIvrTaskcallById(ivrTaskcallVO.getId()); integer = ivrTaskcallVO.getId().intValue(); } @@ -187,7 +243,7 @@ * @return */ @Override - public int heTaskSend(IvrTaskcallVO ivrTaskcallVO) { + public int heTaskSend(IvrTaskSingleVO ivrTaskcallVO) { //鍒ゆ柇浠诲姟鏄惁鏄珛鍗冲彂閫� if (ivrTaskcallVO.getSendType().equals("2") && ivrTaskcallVO.getSendstate() == 1) { IvrTaskcallMQ ivrTaskcallMQ = new IvrTaskcallMQ(); @@ -195,16 +251,19 @@ ivrTaskcallMQ.setSendType("1"); ivrTaskcallMQ.setTemplateid(ivrTaskcallVO.getTemplateid()); + String ivrTaskcallMQJson = JSON.toJSONString(ivrTaskcallMQ); + ivrTaskcallMQJson = ivrTaskcallMQJson.substring(1, ivrTaskcallMQJson.length() - 1); //绔嬪嵆鍙戦�� - rabbitTemplate.convertAndSend(RabbitMqConfig.phone_exchange, RabbitMqConfig.routing_key, new Gson().toJson(ivrTaskcallMQ), message -> { + rabbitTemplate.convertAndSend(RabbitMqConfig.phone_exchange, RabbitMqConfig.routing_key, ivrTaskcallMQJson, message -> { //娉ㄦ剰杩欓噷鏃堕棿鍙互浣縧ong锛岃�屼笖鏄缃甴eader message.getMessageProperties().setHeader("x-delay", 0); return message; }); - } else if (ivrTaskcallVO.getSendType().equals("2") && ivrTaskcallVO.getSendstate() == 1) { + } else if (ivrTaskcallVO.getSendType().equals("1") && ivrTaskcallVO.getSendstate() == 1) { //鏃堕棿娈靛彂閫� if (CollectionUtils.isNotEmpty(ivrTaskcallVO.getSendTimeslot())) { for (TaskSendTimeVO taskSendTimeVO : ivrTaskcallVO.getSendTimeslot()) { + //鍘籗endTimeslot涓紝鑾峰彇鎵�鏈夌殑鏃堕棿娈� List<TaskSendTimeVO> list = new ArrayList<>(); list.add(taskSendTimeVO); @@ -222,12 +281,14 @@ } IvrTaskcallMQ ivrTaskcallMQ = new IvrTaskcallMQ(); ivrTaskcallMQ.setTaskid(ivrTaskcallVO.getTaskid()); - ivrTaskcallMQ.setSendType("2"); + ivrTaskcallMQ.setSendType("1"); ivrTaskcallMQ.setTemplateid(ivrTaskcallVO.getTemplateid()); ivrTaskcallMQ.setSendTimeslot(list); Long finalMilliseconds = milliseconds; - rabbitTemplate.convertAndSend(RabbitMqConfig.phone_exchange, RabbitMqConfig.routing_key, new Gson().toJson(ivrTaskcallMQ), message -> { + String ivrTaskcallMQJson = JSON.toJSONString(ivrTaskcallMQ); + ivrTaskcallMQJson = ivrTaskcallMQJson.substring(1, ivrTaskcallMQJson.length() - 1); + rabbitTemplate.convertAndSend(RabbitMqConfig.phone_exchange, RabbitMqConfig.routing_key, ivrTaskcallMQJson, message -> { //娉ㄦ剰杩欓噷鏃堕棿鍙互浣縧ong锛岃�屼笖鏄缃甴eader message.getMessageProperties().setHeader("x-delay", finalMilliseconds); return message; @@ -264,11 +325,11 @@ e.printStackTrace(); } - IvrTaskcall ivrTaskcall = (IvrTaskcall) map.get("ivrTaskcall"); + IvrTaskSingle ivrTaskcall = (IvrTaskSingle) map.get("ivrTaskcall"); List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOs = (List<IvrLibaTemplateScriptVO>) map.get("ivrLibaTemplateScriptVO"); //灏唘uid鏇存柊鍒版暟鎹簱涓� ivrTaskcall.setSenduuid(phoneCallBackVO.getUuid()); - ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall); //鑾峰彇妯℃澘淇℃伅 IvrLibaTemplateVO ivrLibaTemplateVO = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "ivrLibaTemplateVO"); @@ -290,7 +351,7 @@ log.info("鏃犱汉鎺ュ惉锛歿}, {}", phoneCallBackVO.getErrResult(), phoneCallBackVO.getUuid()); //杩炵画鎵撹瀹氭锛屽鏋滆娌′汉鎺ワ紝閭e氨缁撴潫 ivrTaskcall.setResult(phoneCallBackVO.getErrResult()); - ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall); redisCache.deleteObject(phoneCallBackVO.getUuid() + "uint8"); } else if (integer != null && integer < ivrTaskcall.getRecallcount().intValue()) { //杩涜閲嶆嫧 @@ -311,14 +372,14 @@ redisCache.setCacheObject(phoneCallBackVO.getUuid() + "enumState", 1, 120, TimeUnit.MINUTES); } else if (integer != null && integer == ivrTaskcall.getRecallcount().intValue()) { ivrTaskcall.setResult("鏃犱汉鎺ュ惉"); - ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall); redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState"); } } else if (phoneCallBackVO.getEnumState() == 2) { //鎮h�呮寕鏂數璇� log.info("鎮h�呮寕鏂數璇濓細{}", phoneCallBackVO.getUuid()); ivrTaskcall.setResult(phoneCallBackVO.getHangUpResult()); - ivrTaskcallMapper.updateIvrTaskcall(ivrTaskcall); + ivrTaskSingleMapper.updateIvrTaskcall(ivrTaskcall); redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState"); } -- Gitblit v1.9.3