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 ENateOperRegDecAddDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主体身份代码(CA14)
     */
    @ApiModelProperty(value = "主体身份代码(CA14)", required = true)
    @NotBlank(message = "主体身份代码不能为空")
    private String pripid;

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

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

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

    /**
     * 登记机关(CA11)
     */
    @ApiModelProperty(value = "登记机关(CA11)", required = true)
    @NotBlank(message = "登记机关不能为空")
    private String RegOrg;

    /**
     * 登记机关（中文名称）
     */
    @ApiModelProperty(value = "登记机关（中文名称）")
    private String regOrgCn;

    /**
     * 公告内容
     */
    @ApiModelProperty(value = "公告内容", required = true)
    @NotBlank(message = "公告内容不能为空")
    private String noticeContent;

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

    /**
     * 作出决定机关（中文名称）
     */
    @ApiModelProperty(value = "作出决定机关（中文名称）")
    private String judAuthCn;

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

    /**
     * 公告日期
     */
    @ApiModelProperty(value = "公告日期", required = true, example = "2025-01-01")
    @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8")
    private LocalDate noticeDate;
}