package com.hxhq.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.hxhq.common.core.annotation.Excel;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author zhangjing
 * @date 2026/01/29 16:24
 * @description  数据同步日志
 */
@Data
public class SyncLog {
    /**
     * 主键 ID
     **/
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 源系统主键
     **/
    @TableField(value = "source_record_id")
    private String sourceRecordId;

    /**
     * 源数据类型：reagent(试剂)
     **/
    @TableField(value = "source_type")
    private String sourceType;

    /**
     * 目标系统名称
     **/
    @TableField(value = "target_system")
    private String targetSystem;

    /**
     * 同步状态（pending / success / failed）
     **/
    @TableField(value = "sync_status")
    private String syncStatus;

    /**
     * 上次同步时间
     **/
    @TableField(value = "last_sync_time")
    private LocalDateTime lastSyncTime;

    /**
     * 同步错误信息
     **/
    @TableField(value = "sync_error_message")
    private String syncErrorMessage;

    /**
     * 重试次数
     **/
    @TableField(value = "retry_count")
    private Integer retryCount;

    /**
     * 创建时间
     **/
    @TableField(value = "created_at")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     **/
    @TableField(value = "updated_at")
    private LocalDateTime updatedAt;
}
