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;

/**
 * 合同操作日志
 */
@Data
public class ContractLaunchLogDto implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 关联合同主表 ID */
    private Long contractId;

    /** 操作类型（save/submit/approve/reject/seal_start/seal_finish/collect/archive/delete） */
    private String actionType;

    /** 操作名称（中文描述，如"保存草稿"、"提交法务"） */
    private String actionName;

    /** 操作状态（success/failed/pending） */
    private String actionStatus;

    /** 操作人姓名 */
    private String operatorName;

    /** 操作人手机号 */
    private String operatorPhone;

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

    /** 操作内容描述 */
    private String actionContent;

    /** 回调/操作的原始报文（JSON 文本存储，用于追溯） */
    private String callbackPayload;

    /** 备注 */
    private String remark;
}
