短信推送修改

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表示成功 * 推送结果状态码0表示成功
*/ */
@ApiModelProperty(value = "推送结果状态码") @ApiModelProperty(value = "推送结果状态码")
@Excel(name = "推送结果状态码", readConverterExp = "0=表示成功") @Excel(name = "推送结果状态码", readConverterExp = "0表示成功")
private Long errorCode; private Long errorCode;
/** /**

View File

@ -3,11 +3,8 @@ package com.xinelu.quartz.service.impl;
import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ClientException;
import com.xinelu.common.config.AliYunSmsTwoConfig; import com.xinelu.common.config.AliYunSmsTwoConfig;
import com.xinelu.common.config.PushMessageRestrictions; import com.xinelu.common.config.PushMessageRestrictions;
import com.xinelu.common.enums.ErrorStatusEnum; import com.xinelu.common.enums.*;
import com.xinelu.common.enums.NodeExecuteResultStatusEnum; import com.xinelu.manage.domain.shortmessagesendrecord.ShortMessageSendRecord;
import com.xinelu.common.enums.NodeExecuteStatusEnum;
import com.xinelu.common.enums.RouteNodeNameEnum;
import com.xinelu.manage.domain.subscribemessagesendrecord.SubscribeMessageSendRecord;
import com.xinelu.manage.dto.smssend.SmsInfoDTO; import com.xinelu.manage.dto.smssend.SmsInfoDTO;
import com.xinelu.manage.mapper.shortmessagesendrecord.ShortMessageSendRecordMapper; import com.xinelu.manage.mapper.shortmessagesendrecord.ShortMessageSendRecordMapper;
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper; import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
@ -22,6 +19,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -151,21 +149,30 @@ public class SendTextMessageServiceImpl implements SendTextMessageService {
// 根据模版id发送 // 根据模版id发送
smsInfoDTO.setTemplateCode(message.getTextMessageId()); smsInfoDTO.setTemplateCode(message.getTextMessageId());
Boolean aBoolean = smsSendUtils.sendTextMessage(smsInfoDTO); 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) { if (aBoolean) {
ids.add(message.getSignPatientManageRouteNodeId()); ids.add(message.getSignPatientManageRouteNodeId());
subscribeMessageSendRecord.setErrorCode(0); shortMessageSendRecord.setErrorCode(0L);
subscribeMessageSendRecord.setErrorStatus(ErrorStatusEnum.success.getValue()); shortMessageSendRecord.setErrorStatus(ErrorStatusEnum.success.getValue());
} else { } else {
//失败 //失败
subscribeMessageSendRecord.setErrorCode(1); shortMessageSendRecord.setErrorCode(1L);
subscribeMessageSendRecord.setErrorStatus(ErrorStatusEnum.fail.getValue()); 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()); 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()) { if (Objects.nonNull(recordNum.getNum()) && recordNum.getNum() >= pushMessageRestrictions.getNumber()) {
failSignPatientManageRouteNodeIds.add(message.getSignPatientManageRouteNodeId()); failSignPatientManageRouteNodeIds.add(message.getSignPatientManageRouteNodeId());
} }
shortMessageSendRecordMapper.insertShortMessageSendRecord(shortMessageSendRecord);
} }
} }
//修改节点状态 //修改节点状态