package com.ruoyi.info.collection.domain.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 实体中介修改DTO
 *
 * @author ruoyi
 * @date 2026-02-04
 */
@Data
@Schema(description = "实体中介修改DTO")
public class CcdiIntermediaryEntityEditDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "统一社会信用代码")
    @NotBlank(message = "统一社会信用代码不能为空")
    private String socialCreditCode;

    @Schema(description = "机构名称")
    @NotBlank(message = "机构名称不能为空")
    @Size(max = 200, message = "机构名称长度不能超过200个字符")
    private String enterpriseName;

    @Schema(description = "主体类型")
    @Size(max = 50, message = "主体类型长度不能超过50个字符")
    private String enterpriseType;

    @Schema(description = "企业性质")
    @Size(max = 50, message = "企业性质长度不能超过50个字符")
    private String enterpriseNature;

    @Schema(description = "行业分类")
    @Size(max = 100, message = "行业分类长度不能超过100个字符")
    private String industryClass;

    @Schema(description = "所属行业")
    @Size(max = 100, message = "所属行业长度不能超过100个字符")
    private String industryName;

    @Schema(description = "成立日期")
    private Date establishDate;

    @Schema(description = "注册地址")
    @Size(max = 500, message = "注册地址长度不能超过500个字符")
    private String registerAddress;

    @Schema(description = "法定代表人")
    @Size(max = 100, message = "法定代表人长度不能超过100个字符")
    private String legalRepresentative;

    @Schema(description = "法定代表人证件类型")
    @Size(max = 50, message = "法定代表人证件类型长度不能超过50个字符")
    private String legalCertType;

    @Schema(description = "法定代表人证件号码")
    @Size(max = 50, message = "法定代表人证件号码长度不能超过50个字符")
    private String legalCertNo;

    @Schema(description = "股东1")
    @Size(max = 100, message = "股东1长度不能超过100个字符")
    private String shareholder1;

    @Schema(description = "股东2")
    @Size(max = 100, message = "股东2长度不能超过100个字符")
    private String shareholder2;

    @Schema(description = "股东3")
    @Size(max = 100, message = "股东3长度不能超过100个字符")
    private String shareholder3;

    @Schema(description = "股东4")
    @Size(max = 100, message = "股东4长度不能超过100个字符")
    private String shareholder4;

    @Schema(description = "股东5")
    @Size(max = 100, message = "股东5长度不能超过100个字符")
    private String shareholder5;

    @Schema(description = "备注")
    @Size(max = 500, message = "备注长度不能超过500个字符")
    private String remark;
}
