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

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.ruoyi.common.annotation.DictDropdown;
import com.ruoyi.common.annotation.TextFormat;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * 个人中介Excel导入导出对象
 *
 * @author ruoyi
 * @date 2026-02-04
 */
@Data
public class CcdiIntermediaryPersonExcel implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 姓名 */
    @ExcelProperty(value = "姓名*", index = 0)
    @ColumnWidth(15)
    private String name;

    /** 人员类型 */
    @ExcelProperty(value = "人员类型", index = 1)
    @ColumnWidth(15)
    @DictDropdown(dictType = "ccdi_person_type")
    private String personType;

    /** 人员子类型 */
    @ExcelProperty(value = "人员子类型", index = 2)
    @ColumnWidth(15)
    @DictDropdown(dictType = "ccdi_person_sub_type")
    private String personSubType;

    /** 性别 */
    @ExcelProperty(value = "性别", index = 3)
    @ColumnWidth(10)
    @DictDropdown(dictType = "ccdi_indiv_gender")
    private String gender;

    /** 证件类型 */
    @ExcelProperty(value = "证件类型", index = 4)
    @ColumnWidth(15)
    @DictDropdown(dictType = "ccdi_certificate_type")
    private String idType;

    /** 证件号码 */
    @ExcelProperty(value = "证件号码*", index = 5)
    @ColumnWidth(20)
    @TextFormat
    private String personId;

    /** 手机号码 */
    @ExcelProperty(value = "手机号码", index = 6)
    @ColumnWidth(15)
    @TextFormat
    private String mobile;

    /** 微信号 */
    @ExcelProperty(value = "微信号", index = 7)
    @ColumnWidth(15)
    private String wechatNo;

    /** 联系地址 */
    @ExcelProperty(value = "联系地址", index = 8)
    @ColumnWidth(30)
    private String contactAddress;

    /** 所在公司 */
    @ExcelProperty(value = "所在公司", index = 9)
    @ColumnWidth(20)
    private String company;

    /** 企业统一信用码 */
    @ExcelProperty(value = "企业统一信用码", index = 10)
    @ColumnWidth(20)
    @TextFormat
    private String socialCreditCode;

    /** 职位 */
    @ExcelProperty(value = "职位", index = 11)
    @ColumnWidth(15)
    private String position;

    /** 关联中介本人证件号码 */
    @ExcelProperty(value = "关联中介本人证件号码", index = 12)
    @ColumnWidth(24)
    @TextFormat
    private String relatedNumId;

    /** 备注 */
    @ExcelProperty(value = "备注", index = 13)
    @ColumnWidth(30)
    private String remark;
}
