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