package com.imutil.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.time.OffsetDateTime; /** * 迁移任务记录实体(支持断点续传与校验) *

* 一次迁移对应一条记录:按对象类型(USER/GROUP/MSG/ROSTER)从老应用迁到主应用。 * pos_cursor 记录断点游标,任务中断后可从游标续传;verify_result 存老 vs 新条数对比。 * * @author imutil */ @Data @TableName("migrate_task") public class MigrateTask { @TableId(type = IdType.AUTO) private Long id; /** 关联 source_app.id */ private Long sourceAppId; /** 对象类型:USER/GROUP/MSG/ROSTER */ private String objectType; /** 0=pending 1=running 2=paused 3=done 4=failed */ private Integer status; /** 应处理总数 */ private Long totalCount; /** 已处理数 */ private Long processedCount; /** 断点游标(时间戳/会话+seq,按对象类型语义不同) */ private String posCursor; /** 校验结果 JSON(老 vs 新 条数对比) */ private String verifyResult; /** 失败原因 */ private String errorMsg; private OffsetDateTime startedAt; private OffsetDateTime finishedAt; private OffsetDateTime createdAt; }