Merge remote-tracking branch 'origin/dev' into dev_hekoufirsthospital
This commit is contained in:
commit
4343d60bbd
@ -730,7 +730,9 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
||||
boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now());
|
||||
if (before) {
|
||||
//转换成中文……
|
||||
if(StringUtils.isNotBlank(manualFollowUpVO.getRouteNodeName())){//1219应对任务管理添加管理
|
||||
manualFollowUpVO.setRouteNodeName(RouteNodeNameEnum.getNameByInfo(manualFollowUpVO.getRouteNodeName()).getName());
|
||||
}
|
||||
manualFollowUpVO.setPlanTime(localDate);
|
||||
// 3.6 放入集合
|
||||
manualFollowUps.add(manualFollowUpVO);
|
||||
|
||||
@ -66,4 +66,10 @@ public class TextMessage {
|
||||
|
||||
@ApiModelProperty(value = "节点id")
|
||||
private Long signPatientManageRouteNodeId;
|
||||
|
||||
@ApiModelProperty(value = "电话短信提醒")
|
||||
private String phoneMessageRemind;
|
||||
|
||||
@ApiModelProperty(value = "电话短信code")
|
||||
private String phoneMessageTemplateCode;
|
||||
}
|
||||
|
||||
@ -206,7 +206,7 @@
|
||||
COUNT(1) num
|
||||
from short_message_send_record
|
||||
where manage_route_node_id IN
|
||||
<foreach item="manageRouteNodeId" collection="manageRouteNodeId" open="(" separator="," close=")">
|
||||
<foreach item="manageRouteNodeId" collection="manageRouteNodeIds" open="(" separator="," close=")">
|
||||
#{manageRouteNodeId}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
@ -1008,14 +1008,16 @@
|
||||
pi.discharge_time,
|
||||
pi.visit_date,
|
||||
pi.visit_method,
|
||||
tm.text_message_id
|
||||
tm.text_message_id,
|
||||
(SELECT text_message_id FROM text_message WHERE id = spmrn.phone_message_template_id) phoneMessageTemplateCode,
|
||||
spmrn.phone_message_remind
|
||||
from sign_patient_manage_route_node spmrn
|
||||
LEFT JOIN sign_patient_manage_route spmr ON spmr.id = spmrn.manage_route_id
|
||||
LEFT JOIN patient_info pi ON pi.id = spmr.patient_id
|
||||
LEFT JOIN text_message tm ON tm.id = spmrn.message_template_id
|
||||
where spmrn.message_push_sign = 1
|
||||
where (spmrn.message_push_sign = 1 or (spmrn.phone_message_remind is not null and spmrn.phone_message_remind != 'NOT_SEND_MESSAGE'))
|
||||
and spmrn.del_flag = 0
|
||||
and spmrn.node_execute_status = 'UNEXECUTED'
|
||||
and spmrn.node_execute_status = 'EXECUTED'
|
||||
and (spmrn.message_node_execute_result_status is null or spmrn.message_node_execute_result_status = ' ')
|
||||
</select>
|
||||
|
||||
|
||||
@ -3,11 +3,7 @@ package com.xinelu.quartz.service.impl;
|
||||
import com.aliyuncs.exceptions.ClientException;
|
||||
import com.xinelu.common.config.AliYunSmsTwoConfig;
|
||||
import com.xinelu.common.config.PushMessageRestrictions;
|
||||
import com.xinelu.common.enums.ErrorStatusEnum;
|
||||
import com.xinelu.common.enums.NodeExecuteResultStatusEnum;
|
||||
import com.xinelu.common.enums.NodeExecuteStatusEnum;
|
||||
import com.xinelu.common.enums.RouteNodeNameEnum;
|
||||
import com.xinelu.common.enums.ShortMessageTypeEnum;
|
||||
import com.xinelu.common.enums.*;
|
||||
import com.xinelu.manage.domain.shortmessagesendrecord.ShortMessageSendRecord;
|
||||
import com.xinelu.manage.dto.smssend.SmsInfoDTO;
|
||||
import com.xinelu.manage.mapper.shortmessagesendrecord.ShortMessageSendRecordMapper;
|
||||
@ -17,21 +13,18 @@ import com.xinelu.manage.vo.signpatientmanageroutenode.TextMessage;
|
||||
import com.xinelu.manage.vo.subscribemessagesendrecord.RecordNum;
|
||||
import com.xinelu.mobile.utils.SmsSendUtils;
|
||||
import com.xinelu.quartz.service.SendTextMessageService;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description 短信发送定时任务业务层
|
||||
* @Author zh
|
||||
@ -71,30 +64,35 @@ public class SendTextMessageServiceImpl implements SendTextMessageService {
|
||||
//超时短信ids
|
||||
List<Long> expiredManageRouteNodeIds = new ArrayList<>();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDate nowDate = LocalDate.now();
|
||||
for (TextMessage textMessage : textMessages) {
|
||||
//判断推送状态
|
||||
if (Objects.isNull(textMessage.getMessagePushSign()) || textMessage.getMessagePushSign() != 1) {
|
||||
if ((Objects.isNull(textMessage.getMessagePushSign()) || textMessage.getMessagePushSign() != 1) && (StringUtils.isBlank(textMessage.getPhoneMessageRemind()) || textMessage.getPhoneMessageRemind().equals("NOT_SEND_MESSAGE"))) {
|
||||
continue;
|
||||
}
|
||||
//过滤脏数据
|
||||
if (StringUtils.isBlank(textMessage.getPatientType()) || Objects.isNull(textMessage.getRouteNodeDay())) {
|
||||
//过滤脏数据 if (StringUtils.isBlank(textMessage.getPatientType()) || Objects.isNull(textMessage.getRouteNodeDay()))
|
||||
if (StringUtils.isBlank(textMessage.getPatientType())) {
|
||||
continue;
|
||||
}
|
||||
//模版暂时处理
|
||||
if (StringUtils.isBlank(textMessage.getTextMessageId()) || !aliYunSmsTwoConfig.getTemplateCode().equals(textMessage.getTextMessageId())) {
|
||||
if ((StringUtils.isBlank(textMessage.getTextMessageId()) || !aliYunSmsTwoConfig.getTemplateCode().equals(textMessage.getTextMessageId())) && (StringUtils.isBlank(textMessage.getPhoneMessageTemplateCode()) || !aliYunSmsTwoConfig.getTemplateCode().equals(textMessage.getPhoneMessageTemplateCode()))) {
|
||||
continue;
|
||||
}
|
||||
LocalDate localDate = null;
|
||||
if (Objects.nonNull(textMessage.getDischargeTime())) {
|
||||
//后续加入根据类型判断使用具体那个时间
|
||||
if (Objects.nonNull(textMessage.getDischargeTime()) && Objects.nonNull(textMessage.getRouteNodeDay())) {
|
||||
localDate = textMessage.getDischargeTime().plusDays(textMessage.getRouteNodeDay());
|
||||
}
|
||||
if (Objects.isNull(textMessage.getDischargeTime()) && Objects.nonNull(textMessage.getVisitDate())) {
|
||||
localDate = textMessage.getVisitDate().plusDays(textMessage.getRouteNodeDay());
|
||||
// if (Objects.isNull(textMessage.getDischargeTime()) && Objects.nonNull(textMessage.getVisitDate())) {
|
||||
// localDate = textMessage.getVisitDate().plusDays(textMessage.getRouteNodeDay());
|
||||
// }
|
||||
if (Objects.isNull(textMessage.getRouteNodeDay())){
|
||||
localDate = nowDate;//新加的外呼立即执行没有getRouteNodeDay
|
||||
}
|
||||
if (Objects.isNull(localDate)) {
|
||||
continue;
|
||||
}
|
||||
boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now());
|
||||
boolean before = localDate.isBefore(nowDate) || localDate.isEqual(nowDate);
|
||||
if (before) {
|
||||
//超出7天,更改状态
|
||||
long until = localDate.until(LocalDate.now(), ChronoUnit.DAYS);
|
||||
@ -158,7 +156,13 @@ public class SendTextMessageServiceImpl implements SendTextMessageService {
|
||||
smsInfoDTO.setPhoneNumbers(message.getPatientPhone());
|
||||
smsInfoDTO.setSignName(aliYunSmsTwoConfig.getSignName());
|
||||
// 根据模版id发送
|
||||
if (StringUtils.isNotBlank(message.getTextMessageId()) && StringUtils.isBlank(message.getPhoneMessageTemplateCode())){
|
||||
smsInfoDTO.setTemplateCode(message.getTextMessageId());
|
||||
} else if (StringUtils.isNotBlank(message.getPhoneMessageTemplateCode()) && StringUtils.isBlank(message.getTextMessageId())){
|
||||
smsInfoDTO.setTemplateCode(message.getPhoneMessageTemplateCode());
|
||||
}else {
|
||||
smsInfoDTO.setTemplateCode(aliYunSmsTwoConfig.getTemplateCode());
|
||||
}
|
||||
Boolean aBoolean = smsSendUtils.sendTextMessage(smsInfoDTO);
|
||||
ShortMessageSendRecord shortMessageSendRecord = new ShortMessageSendRecord();
|
||||
shortMessageSendRecord.setMessageType(ShortMessageTypeEnum.COMMON.getInfo());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user