短信推送修改

This commit is contained in:
zhangheng 2024-08-05 10:43:55 +08:00
parent a19b979ad6
commit 865c4ab0a9
3 changed files with 48 additions and 11 deletions

View File

@ -0,0 +1,30 @@
package com.xinelu.common.enums;
import lombok.Getter;
/**
* 短信发送结果记录对象
*
* @author : zh
* @date : 2024/8/05
*/
@Getter
public enum ShortMessageSendEnum {
/**
* 启用
*/
PHONE_MSG("PHONE_MSG"),
/**
* 禁用
*/
COMMON("COMMON"),
;
final private String info;
ShortMessageSendEnum(String info) {
this.info = info;
}
}

View File

@ -81,7 +81,7 @@ public class ShortMessageSendRecord extends BaseEntity {
* 推送结果状态码0表示成功
*/
@ApiModelProperty(value = "推送结果状态码")
@Excel(name = "推送结果状态码", readConverterExp = "0=表示成功")
@Excel(name = "推送结果状态码", readConverterExp = "0表示成功")
private Long errorCode;
/**

View File

@ -3,11 +3,8 @@ 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.manage.domain.subscribemessagesendrecord.SubscribeMessageSendRecord;
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;
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
@ -22,6 +19,7 @@ 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.ArrayList;
import java.util.List;
@ -151,21 +149,30 @@ public class SendTextMessageServiceImpl implements SendTextMessageService {
// 根据模版id发送
smsInfoDTO.setTemplateCode(message.getTextMessageId());
Boolean aBoolean = smsSendUtils.sendTextMessage(smsInfoDTO);
SubscribeMessageSendRecord subscribeMessageSendRecord = new SubscribeMessageSendRecord();
ShortMessageSendRecord shortMessageSendRecord = new ShortMessageSendRecord();
shortMessageSendRecord.setMessageType(ShortMessageSendEnum.COMMON.getInfo());
shortMessageSendRecord.setPatientId(message.getPatientId());
shortMessageSendRecord.setPatientPhone(message.getPatientPhone());
shortMessageSendRecord.setManageRouteNodeId(message.getSignPatientManageRouteNodeId());
shortMessageSendRecord.setSendTime(LocalDateTime.now());
shortMessageSendRecord.setMessageTemplateId(message.getTextMessageId());
shortMessageSendRecord.setMessageNodeContent(message.getMessageNodeContent());
shortMessageSendRecord.setCreateTime(LocalDateTime.now());
//成功
if (aBoolean) {
ids.add(message.getSignPatientManageRouteNodeId());
subscribeMessageSendRecord.setErrorCode(0);
subscribeMessageSendRecord.setErrorStatus(ErrorStatusEnum.success.getValue());
shortMessageSendRecord.setErrorCode(0L);
shortMessageSendRecord.setErrorStatus(ErrorStatusEnum.success.getValue());
} else {
//失败
subscribeMessageSendRecord.setErrorCode(1);
subscribeMessageSendRecord.setErrorStatus(ErrorStatusEnum.fail.getValue());
shortMessageSendRecord.setErrorCode(1L);
shortMessageSendRecord.setErrorStatus(ErrorStatusEnum.fail.getValue());
RecordNum recordNum = recordNums.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getManageRouteNodeId()) && item.getManageRouteNodeId().equals(message.getSignPatientManageRouteNodeId())).findFirst().orElse(new RecordNum());
//三次失败
if (Objects.nonNull(recordNum.getNum()) && recordNum.getNum() >= pushMessageRestrictions.getNumber()) {
failSignPatientManageRouteNodeIds.add(message.getSignPatientManageRouteNodeId());
}
shortMessageSendRecordMapper.insertShortMessageSendRecord(shortMessageSendRecord);
}
}
//修改节点状态