数据推送明细状态

This commit is contained in:
钱涛 2024-11-28 15:30:36 +08:00
parent 3ba1ea6cc7
commit 17ceeef74d
6 changed files with 64 additions and 30 deletions

View File

@ -40,6 +40,12 @@ public class PushRecordDetailPO {
@ElogTransform(name = "执行状态")
private Integer status;
/**
* 失败原因
*/
@ElogTransform(name = "失败原因")
private String fail_reason;
/**
* 执行sql
*/

View File

@ -66,6 +66,20 @@ public class PushRecordPO {
@ElogTransform(name = "推送状态")
private Integer status;
/**
* 开始时间
*/
@ElogTransform(name = "开始时间")
private Date startTime;
/**
*
*/
@ElogTransform(name = "结束时间")
private Date endTime;
/**
* 推送类型
*/

View File

@ -14,11 +14,9 @@ import java.util.Objects;
* @version 1.0
**/
public enum PushRecordDetailStatusEnum implements BaseEnum<Integer> {
PREPARE(0, "准备中", 87625),
WAITING(1, "等待中", 87625),
PROGRESS(2, "执行中", 85393),
success(3, "执行成功", 85393),
FAIL(4, "执行失败", 85393);
PREPARE(0, "待执行", 87625),
SUCCESS(1, "执行成功", 85393),
FAIL(2, "执行失败", 85393);
private int value;

View File

@ -17,8 +17,9 @@ public enum PushRecordStatusEnum implements BaseEnum<Integer> {
PREPARE(0, "准备中", 87625),
WAITING(1, "等待中", 87625),
PROGRESS(2, "执行中", 85393),
SUCCESS(3, "执行成功", 85393),
FAIL(4, "执行失败", 85393);
COMPLETE(3, "执行完毕", 85393),
SUCCESS(4, "执行成功", 85393),
FAIL(5, "执行失败", 85393);
private int value;

View File

@ -294,12 +294,12 @@
</foreach>
</delete>
<select id="countBeforeBatch" resultMap="BaseResultMap">
<select id="countBeforeBatch" resultType="int">
SELECT count(0)
FROM hrsa_push_record t
WHERE delete_type = 0
and batch_id <![CDATA[ < ]]> #{batchId}
and status not in (4, 5)
and status <![CDATA[ < ]]> 3
</select>
</mapper>

View File

@ -538,32 +538,47 @@ public class PushServiceImpl extends Service implements PushService {
pushRecordPOS.forEach(pushRecordPO -> {
pushRecordPO.setStatus(PushRecordStatusEnum.PROGRESS.getValue());
getPushRecordMapper().updateIgnoreNull(pushRecordPO);
try {
pushRecordPO.setStartTime(new Date());
pushRecordPO.setStatus(PushRecordStatusEnum.PROGRESS.getValue());
getPushRecordMapper().updateIgnoreNull(pushRecordPO);
List<PushRecordDetailPO> pushRecordDetailPOS = getPushRecordDetailMapper().listSome(PushRecordDetailPO.builder().recordId(pushRecordPO.getId()).build());
pushRecordDetailPOS.forEach(pushRecordDetailPO -> {
try {
String execute = pushRecordDetailPO.getExecute();
RecordSet rs = new RecordSet();
rs.execute(execute);
//建模需要权限重构
Integer modeId = pushRecordPO.getModeId();
if (modeId != null) {
String tableName = pushRecordPO.getTableName();
rs.executeQuery("select max(id) from " + tableName);
int mainId = 0;
if (rs.next()) {
mainId = rs.getInt(1);
}
ModeRightInfo ModeRightInfo = new ModeRightInfo();
ModeRightInfo.setNewRight(true);
ModeRightInfo.editModeDataShare(1, modeId, mainId);
}
List<PushRecordDetailPO> pushRecordDetailPOS = getPushRecordDetailMapper().listSome(PushRecordDetailPO.builder().recordId(pushRecordPO.getId()).build());
pushRecordDetailPOS.forEach(pushRecordDetailPO -> {
String execute = pushRecordDetailPO.getExecute();
RecordSet rs = new RecordSet();
rs.execute(execute);
//建模需要权限重构
Integer modeId = pushRecordPO.getModeId();
if (modeId != null) {
String tableName = pushRecordPO.getTableName();
rs.executeQuery("select max(id) from " + tableName);
int mainId = 0;
if (rs.next()) {
mainId = rs.getInt(1);
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.SUCCESS.getValue());
}catch (Exception e){
pushRecordDetailPO.setFail_reason(e.getMessage());
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.FAIL.getValue());
}
ModeRightInfo ModeRightInfo = new ModeRightInfo();
ModeRightInfo.setNewRight(true);
ModeRightInfo.editModeDataShare(1, modeId, mainId);
}
});
pushRecordPO.setStatus(PushRecordStatusEnum.SUCCESS.getValue());
});
pushRecordPO.setEndTime(new Date());
pushRecordPO.setStatus(PushRecordStatusEnum.SUCCESS.getValue());
} catch (Exception e) {
pushRecordPO.setStatus(PushRecordStatusEnum.FAIL.getValue());
}
getPushRecordMapper().updateIgnoreNull(pushRecordPO);
});
}