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

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 保存项目证据入参
 *
 * @author ruoyi
 */
@Data
public class CcdiEvidenceSaveDTO {

    /** 项目ID */
    @NotNull(message = "项目ID不能为空")
    private Long projectId;

    /** 证据类型：FLOW/MODEL/ASSET */
    @NotBlank(message = "证据类型不能为空")
    private String evidenceType;

    /** 关联人员姓名 */
    @NotBlank(message = "关联人员不能为空")
    private String relatedPersonName;

    /** 关联人员标识 */
    private String relatedPersonId;

    /** 证据标题 */
    @NotBlank(message = "证据标题不能为空")
    private String evidenceTitle;

    /** 证据摘要 */
    @NotBlank(message = "证据摘要不能为空")
    private String evidenceSummary;

    /** 来源类型 */
    @NotBlank(message = "来源类型不能为空")
    private String sourceType;

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

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

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

    /** 确认理由/备注 */
    @NotBlank(message = "确认理由/备注不能为空")
    private String confirmReason;
}
