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;

/**
 * 中介亲属编辑DTO
 */
@Data
@Schema(description = "中介亲属编辑DTO")
public class CcdiIntermediaryRelativeEditDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "人员ID")
    @NotBlank(message = "人员ID不能为空")
    private String bizId;

    @Schema(description = "姓名")
    @NotBlank(message = "姓名不能为空")
    @Size(max = 100, message = "姓名长度不能超过100个字符")
    private String name;

    @Schema(description = "人员类型")
    private String personType;

    @Schema(description = "亲属关系")
    @NotBlank(message = "亲属关系不能为空")
    @Size(max = 50, message = "亲属关系长度不能超过50个字符")
    private String personSubType;

    @Schema(description = "性别")
    private String gender;

    @Schema(description = "证件类型")
    private String idType;

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

    @Schema(description = "手机号码")
    @Size(max = 20, message = "手机号码长度不能超过20个字符")
    private String mobile;

    @Schema(description = "微信号")
    @Size(max = 50, message = "微信号长度不能超过50个字符")
    private String wechatNo;

    @Schema(description = "联系地址")
    @Size(max = 200, message = "联系地址长度不能超过200个字符")
    private String contactAddress;

    @Schema(description = "所在公司")
    @Size(max = 200, message = "所在公司长度不能超过200个字符")
    private String company;

    @Schema(description = "企业统一信用码")
    @Size(max = 50, message = "企业统一信用码长度不能超过50个字符")
    private String socialCreditCode;

    @Schema(description = "职位")
    @Size(max = 100, message = "职位长度不能超过100个字符")
    private String position;

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