From 85052ff89dfaa0c6eba7d5aecc1ce9520d0f0fdd Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Thu, 25 Jul 2024 10:56:04 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=8E=A8=E9=80=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SendTextMessageServiceImpl.java | 106 ++++++++++-------- 1 file changed, 61 insertions(+), 45 deletions(-) diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java index e36ce8dd..c5311fe3 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/SendTextMessageServiceImpl.java @@ -2,7 +2,6 @@ package com.xinelu.quartz.service.impl; import com.aliyuncs.exceptions.ClientException; import com.xinelu.common.config.AliYunSmsTwoConfig; -import com.xinelu.common.enums.PatientTypeEnum; import com.xinelu.common.enums.RouteNodeNameEnum; import com.xinelu.manage.dto.smssend.SmsInfoDTO; import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper; @@ -59,55 +58,72 @@ public class SendTextMessageServiceImpl implements SendTextMessageService { if (StringUtils.isBlank(textMessage.getTextMessageId()) || !aliYunSmsTwoConfig.getTemplateCode().equals(textMessage.getTextMessageId())) { continue; } - //判断路径节点,组装数据 - if (textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_DISCHARGE.getInfo()) || textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { - if (textMessage.getPatientType().equals(PatientTypeEnum.DISCHARGED_PATIENT.getInfo()) && Objects.nonNull(textMessage.getDischargeTime())) { - LocalDate localDate = textMessage.getDischargeTime().plusDays(textMessage.getRouteNodeDay()); - boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); - if (before) { - textMessage.setRouteNodeName(RouteNodeNameEnum.AFTER_DISCHARGE.getName()); - messages.add(textMessage); - } - } + LocalDate localDate = null; + if (Objects.nonNull(textMessage.getDischargeTime())) { + localDate = textMessage.getDischargeTime().plusDays(textMessage.getRouteNodeDay()); } - if (textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_ADMISSION.getInfo())) { - if (textMessage.getPatientType().equals(PatientTypeEnum.IN_HOSPITAL_PATIENT.getInfo()) && Objects.nonNull(textMessage.getAdmissionTime())) { - LocalDate localDate = textMessage.getAdmissionTime().plusDays(textMessage.getRouteNodeDay()); - boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); - if (before) { - textMessage.setRouteNodeName(RouteNodeNameEnum.AFTER_ADMISSION.getName()); - messages.add(textMessage); - } - } + if (Objects.isNull(textMessage.getDischargeTime()) && Objects.nonNull(textMessage.getVisitDate())) { + localDate = textMessage.getVisitDate().plusDays(textMessage.getRouteNodeDay()); } - if (textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_CONSULTATION.getInfo()) || textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { - if (textMessage.getPatientType().equals(PatientTypeEnum.OUTPATIENT.getInfo()) && textMessage.getAdmissionTime() == null && Objects.nonNull(textMessage.getVisitDate())) { - LocalDate localDate = textMessage.getVisitDate().plusDays(textMessage.getRouteNodeDay()); - boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); - if (before) { - textMessage.setRouteNodeName(RouteNodeNameEnum.AFTER_CONSULTATION.getName()); - messages.add(textMessage); - } - } + if (Objects.isNull(localDate)) { + continue; + } + boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); + if (before) { + textMessage.setRouteNodeName(RouteNodeNameEnum.AFTER_DISCHARGE.getName()); + messages.add(textMessage); } } - //发送 - if (CollectionUtils.isNotEmpty(messages)) { - List ids = new ArrayList<>(); - for (TextMessage message : messages) { - SmsInfoDTO smsInfoDTO = new SmsInfoDTO(); - smsInfoDTO.setPhoneNumbers(message.getPatientPhone()); - smsInfoDTO.setSignName(aliYunSmsTwoConfig.getSignName()); - // 根据模版id发送 - smsInfoDTO.setTemplateCode(message.getTextMessageId()); - Boolean aBoolean = smsSendUtils.sendTextMessage(smsInfoDTO); - if (aBoolean) { - ids.add(message.getSignPatientManageRouteNodeId()); + + //判断路径节点,组装数据 +// if (textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_DISCHARGE.getInfo()) || textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { +// if (textMessage.getPatientType().equals(PatientTypeEnum.DISCHARGED_PATIENT.getInfo()) && Objects.nonNull(textMessage.getDischargeTime())) { +// LocalDate localDate = textMessage.getDischargeTime().plusDays(textMessage.getRouteNodeDay()); +// boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); +// if (before) { +// textMessage.setRouteNodeName(RouteNodeNameEnum.AFTER_DISCHARGE.getName()); +// messages.add(textMessage); +// } +// } +// } +// if (textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_ADMISSION.getInfo())) { +// if (textMessage.getPatientType().equals(PatientTypeEnum.IN_HOSPITAL_PATIENT.getInfo()) && Objects.nonNull(textMessage.getAdmissionTime())) { +// LocalDate localDate = textMessage.getAdmissionTime().plusDays(textMessage.getRouteNodeDay()); +// boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); +// if (before) { +// textMessage.setRouteNodeName(RouteNodeNameEnum.AFTER_ADMISSION.getName()); +// messages.add(textMessage); +// } +// } +// } +// if (textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_CONSULTATION.getInfo()) || textMessage.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { +// if (textMessage.getPatientType().equals(PatientTypeEnum.OUTPATIENT.getInfo()) && textMessage.getAdmissionTime() == null && Objects.nonNull(textMessage.getVisitDate())) { +// LocalDate localDate = textMessage.getVisitDate().plusDays(textMessage.getRouteNodeDay()); +// boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); +// if (before) { +// textMessage.setRouteNodeName(RouteNodeNameEnum.AFTER_CONSULTATION.getName()); +// messages.add(textMessage); +// } +// } +// } +// } + //发送 + if (CollectionUtils.isNotEmpty(messages)) { + List ids = new ArrayList<>(); + for (TextMessage message : messages) { + SmsInfoDTO smsInfoDTO = new SmsInfoDTO(); + smsInfoDTO.setPhoneNumbers(message.getPatientPhone()); + smsInfoDTO.setSignName(aliYunSmsTwoConfig.getSignName()); + // 根据模版id发送 + smsInfoDTO.setTemplateCode(message.getTextMessageId()); + Boolean aBoolean = smsSendUtils.sendTextMessage(smsInfoDTO); + if (aBoolean) { + ids.add(message.getSignPatientManageRouteNodeId()); + } + } + if (CollectionUtils.isNotEmpty(ids)) { + signPatientManageRouteNodeMapper.updateMessageStatusByIds(ids); } - } - if (CollectionUtils.isNotEmpty(ids)) { - signPatientManageRouteNodeMapper.updateMessageStatusByIds(ids); } } } -}