package com.nbport.zgwl.contractlaunch.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 签章回写参数
 *
 * 签署完成后，浙江CA安全签平台通过回调通知我方，
 * 我方把签署结果回写到合同的 seal_* 字段。
 */
@Data
public class ContractLaunchSealDto implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 签章平台生成的合同ID（用于后续查询签署进度） */
    private String sealContractId;

    /** 签章状态（1:签署中, 2:签署完成, 3:签署失败） */
    private Integer sealContractStatus;

    /** 签署完成后的合同文件名 */
    private String signedFileName;

    /** 签署完成后的合同文件路径（我方存储） */
    private String signedFilePath;

    /** 签署完成后的合同文件类型 */
    private String signedFileType;

    /** 签署完成后的合同文件大小 */
    private Long signedFileSize;

    /** 未在线签署的原因（线下签署时填写） */
    /** 在线签章平台原始下载URL（云平台签署完成时返回的下载地址） */
    private String signedFileUrl;

    private String signedOfflineReason;

    /** 签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime signDate;

    /** 用印时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime sealDate;

    /** 合同生效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime activeDate;
}
