package com.ruoyi.ccdi.project.domain.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 项目证据对象 ccdi_evidence
 *
 * @author ruoyi
 */
@Data
@TableName("ccdi_evidence")
public class CcdiEvidence implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 证据ID */
    @TableId(type = IdType.AUTO)
    private Long evidenceId;

    /** 项目ID */
    private Long projectId;

    /** 证据类型：FLOW/MODEL/ASSET */
    private String evidenceType;

    /** 关联人员姓名 */
    private String relatedPersonName;

    /** 关联人员标识，优先存身份证号或员工号 */
    private String relatedPersonId;

    /** 证据标题 */
    private String evidenceTitle;

    /** 证据摘要 */
    private String evidenceSummary;

    /** 来源类型：BANK_STATEMENT/MODEL_DETAIL/ASSET_DETAIL */
    private String sourceType;

    /** 来源记录ID */
    private String sourceRecordId;

    /** 来源页面名称 */
    private String sourcePage;

    /** 证据快照JSON */
    private String snapshotJson;

    /** 确认理由/备注 */
    private String confirmReason;

    /** 确认人 */
    private String confirmBy;

    /** 确认时间 */
    private Date confirmTime;

    /** 创建者 */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

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

    /** 更新者 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
}
