package com.erp.dataimport.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 导入记录明细实体
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("import_record")
public class ImportRecord {

    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 导入任务ID
     */
    private Long taskId;

    /**
     * 行号
     */
    private Integer rowNumber;

    /**
     * 原始数据（JSON格式存储）
     */
    private String originalData;

    /**
     * 处理后数据（JSON格式存储）
     */
    private String processedData;

    /**
     * 目标表主键值
     */
    private Long targetId;

    /**
     * 导入结果：success-成功, fail-失败, skip-跳过
     */
    private String result;

    /**
     * 错误信息
     */
    private String errorMessage;

    /**
     * 错误字段
     */
    private String errorField;

    /**
     * 租户ID
     */
    private Long tenantId;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;

    // ==================== 辅助方法 ====================

    public boolean isSuccess() {
        return "success".equals(result);
    }

    public boolean isFail() {
        return "fail".equals(result);
    }

    public boolean isSkip() {
        return "skip".equals(result);
    }
}
