短信回调修改

This commit is contained in:
zhangheng 2026-06-12 15:16:22 +08:00
parent 7232359aa5
commit 06af6a860d
6 changed files with 38 additions and 7 deletions

View File

@ -85,6 +85,12 @@ public class ShortMessageSendRecord extends BaseEntity {
@ApiModelProperty(value = "推送结果状态码success成功fail失败")
private String errorStatus;
/**
* 错误码信息描述
*/
@ApiModelProperty(value = "错误码信息描述")
private String errMsg;
/**
* PHONE_MSG:电话同时发短信时COMMON:通用
*/

View File

@ -304,7 +304,6 @@ public class BatchSendTaskInfoServiceImpl implements IBatchSendTaskInfoService {
batchSendTaskRecordInfo.setRobotPublishId(batchSendTaskRecordDto.getRobotPublishId());
}
batchSendTaskRecordInfo.setNodeExecuteStatus(NodeExecuteStatusEnum.EXECUTING.getInfo());
batchSendTaskRecordInfo.setNodeContent(batchSendTaskRecordDto.getNodeContent());
batchSendTaskRecordInfo.setBatchTaskNumber(batchTaskNumber);
batchSendTaskRecordInfo.setTaskExecuteType(TaskExcuteTypeEnum.BATCH_TASK.getInfo());
batchSendTaskRecordInfo.setNodePlanTime(batchSendTaskRecordDto.getNodePlanTime());
@ -313,11 +312,6 @@ public class BatchSendTaskInfoServiceImpl implements IBatchSendTaskInfoService {
batchSendTaskRecordInfo.setCreateTime(LocalDateTime.now());
batchSendTaskRecordInfo.setPhysicalExaminationLabel(batchSendTaskRecordDto.getPhysicalExaminationLabel());
batchSendTaskRecordInfo.setDelFlag(0);
int insertBatchSendTaskRecord = batchSendTaskRecordInfoMapper.insertBatchSendTaskRecordInfo(batchSendTaskRecordInfo);
if (insertBatchSendTaskRecord <= 0) {
log.info("新增批量推送任务记录失败");
return AjaxResult.error("上传任务失败!请联系管理员!");
}
//保存短信变量
List<BatchSendTaskVariableInfo> batchSendTaskVariableInfos = new ArrayList<>();
if (Objects.nonNull(batchSendTaskRecordDto.getVars()) && batchSendTaskRecordDto.getBatchTaskSource().equals(BillSourceEnum.MESSAGE.getInfo())) {
@ -330,8 +324,15 @@ public class BatchSendTaskInfoServiceImpl implements IBatchSendTaskInfoService {
batchSendTaskVariableInfo.setCreateBy(SecurityUtils.getUsername());
batchSendTaskRecordInfo.setCreateTime(LocalDateTime.now());
batchSendTaskVariableInfos.add(batchSendTaskVariableInfo);
batchSendTaskRecordDto.setMessageNodeContent(batchSendTaskRecordDto.getMessageNodeContent().replace("${ " + key + "}", batchSendTaskRecordDto.getVars().get(key)));
batchSendTaskRecordInfo.setNodeContent(batchSendTaskRecordDto.getMessageNodeContent());
}
}
int insertBatchSendTaskRecord = batchSendTaskRecordInfoMapper.insertBatchSendTaskRecordInfo(batchSendTaskRecordInfo);
if (insertBatchSendTaskRecord <= 0) {
log.info("新增批量推送任务记录失败");
return AjaxResult.error("上传任务失败!请联系管理员!");
}
List<SignPatientManageRoute> signPatientManageRoutes = new ArrayList<>();
List<SignPatientManageRouteNode> signPatientManageRouteNodes = new ArrayList<>();
String[] keys = new String[0];

View File

@ -35,4 +35,9 @@ public class BatchSendTaskVo extends BatchSendTaskInfo {
*/
@ApiModelProperty(value = "短信发送情况")
private String messageNodeExecuteResultStatus;
/**
* 任务状态
*/
private String taskStatus;
}

View File

@ -66,6 +66,7 @@
<result property="messageNodeExecuteResultStatus" column="message_node_execute_result_status"/>
<result property="nodeExecuteStatus" column="node_execute_status"/>
<result property="phoneConnectStatus" column="phone_connect_status"/>
<result property="taskStatus" column="taskStatus"/>
</resultMap>
<sql id="selectBatchSendTaskRecordInfoVo">
@ -122,6 +123,7 @@
and physical_examination_label = #{physicalExaminationLabel}
</if>
</where>
ORDER BY create_time DESC
</select>
<select id="selectBatchSendTaskRecordInfoById" parameterType="Long"
@ -296,7 +298,12 @@
spmrn.node_execute_status,
spmrn.phone_connect_status,
spmrn.phone_node_execute_result_status,
spmrn.message_node_execute_result_status
spmrn.message_node_execute_result_status,
CASE
WHEN bstri.batch_task_source = 'message' THEN spmrn.phone_node_execute_result_status
WHEN bstri.batch_task_source = 'telephone' THEN spmrn.message_node_execute_result_status
ELSE null
END AS taskStatus
from batch_send_task_record_info bstri
LEFT JOIN sign_patient_manage_route spmr on bstri.id = spmr.batch_send_task_record_id
LEFT JOIN sign_patient_manage_route_node spmrn on spmr.id = spmrn.manage_route_id

View File

@ -14,6 +14,7 @@
<result property="messageNodeContent" column="message_node_content"/>
<result property="errorCode" column="error_code"/>
<result property="errorStatus" column="error_status"/>
<result property="errMsg" column="err_msg"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
@ -36,6 +37,7 @@
message_node_content,
error_code,
error_status,
err_msg,
create_by,
create_time,
update_by,
@ -160,6 +162,8 @@
</if>
<if test="errorStatus != null">error_status,
</if>
<if test="errMsg != null">err_msg,
</if>
<if test="createBy != null">create_by,
</if>
<if test="createTime != null">create_time,
@ -198,6 +202,8 @@
</if>
<if test="errorStatus != null">#{errorStatus},
</if>
<if test="errMsg != null">#{errMsg},
</if>
<if test="createBy != null">#{createBy},
</if>
<if test="createTime != null">#{createTime},
@ -248,6 +254,9 @@
<if test="errorStatus != null">error_status =
#{errorStatus},
</if>
<if test="errMsg != null">err_msg =
#{errMsg},
</if>
<if test="createBy != null">create_by =
#{createBy},
</if>
@ -359,6 +368,7 @@
message_node_content,
error_code,
error_status,
err_msg,
create_by,
create_time,
message_type,
@ -379,6 +389,7 @@
#{ShortMessageSendRecord.messageNodeContent},
#{ShortMessageSendRecord.errorCode},
#{ShortMessageSendRecord.errorStatus},
#{ShortMessageSendRecord.errMsg},
#{ShortMessageSendRecord.createBy},
#{ShortMessageSendRecord.createTime},
#{ShortMessageSendRecord.messageType},

View File

@ -268,6 +268,7 @@ public class SendTextMessageServiceImpl implements SendTextMessageService {
signPatientManageRouteNode.setMessageNodeExecuteResultStatus(NodeExecuteResultStatusEnum.FAILURE.getInfo());
shortMessageSendRecord.setErrorStatus(ErrorStatusEnum.fail.getValue());
shortMessageSendRecord.setErrorCode(1L);
shortMessageSendRecord.setErrMsg(data.getErr_msg());
}
shortMessageSendRecord.setSendTime(LocalDateTime.parse(data.getSend_time(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
shortMessageSendRecord.setManageRouteNodeId(signPatientManageRouteNode.getId());