短信推送修改

This commit is contained in:
zhangheng 2024-07-25 10:56:04 +08:00
parent 5e8e4547fe
commit 85052ff89d

View File

@ -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<Long> 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<Long> 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);
}
}
}
}