package com.chinaweal.aiccs.aiccs.susnate.dto;

import com.chinaweal.aiccs.common.util.DateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * 虚假登记责任人信息新增参数DTO
 *
 * @author zhouxy
 * @since 2025-12-29
 */
@Data
@ApiModel("虚假登记责任人信息新增参数")
public class FalPerInfoAddDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 市场主体名称
     */
    @ApiModelProperty(value = "市场主体名称", required = true)
    @NotBlank(message = "市场主体名称不能为空")
    private String entname;

    /**
     * 统一社会信用代码
     */
    @ApiModelProperty(value = "统一社会信用代码", required = true)
    @NotBlank(message = "统一社会信用代码不能为空")
    private String uniscid;

    /**
     * 注册号
     */
    @ApiModelProperty(value = "注册号")
    private String regno;

    /**
     * 指定代表、委托代理人姓名
     */
    @ApiModelProperty(value = "指定代表、委托代理人姓名", required = true)
    @NotBlank(message = "指定代表、委托代理人姓名不能为空")
    private String name;

    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型（CB16）", required = true)
    @NotBlank(message = "证件类型不能为空")
    private String cerType;

    /**
     * 证件号码
     */
    @ApiModelProperty(value = "证件号码", required = true)
    @NotBlank(message = "证件号码不能为空")
    private String cerNo;

    /**
     * 处理结果
     */
    @ApiModelProperty(value = "处理结果", required = true)
    @NotBlank(message = "处理结果不能为空")
    private String handlRest;

    /**
     * 处理原因
     */
    @ApiModelProperty(value = "处理原因", required = true)
    @NotBlank(message = "处理原因不能为空")
    private String handlRea;

    /**
     * 作出决定机关编码
     */
    @ApiModelProperty(value = "作出决定机关编码", required = true)
    @NotBlank(message = "作出决定机关编码不能为空")
    private String judAuth;

    /**
     * 作出决定日期
     */
    @ApiModelProperty(value = "作出决定日期", required = true)
    @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDate judDate;
}