package com.ruoyi.info.collection.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

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

/**
 * 企业主体信息对象 ccdi_enterprise_base_info
 *
 * @author ruoyi
 * @date 2026-02-04
 */
@Data
@TableName("ccdi_enterprise_base_info")
public class CcdiEnterpriseBaseInfo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 统一社会信用代码，员工企业关联关系表的外键 */
    @TableId(type = IdType.INPUT)
    private String socialCreditCode;

    /** 企业名称 */
    private String enterpriseName;

    /** 企业类型,有限责任公司、股份有限公司、合伙企业、个体工商户、外资企业等 */
    private String enterpriseType;

    /** 企业性质,国企、民企、外企、合资、其他 */
    private String enterpriseNature;

    /** 行业分类 */
    private String industryClass;

    /** 所属行业 */
    private String industryName;

    /** 成立日期 */
    private Date establishDate;

    /** 注册地址 */
    private String registerAddress;

    /** 法定代表人 */
    private String legalRepresentative;

    /** 法定代表人证件类型 */
    private String legalCertType;

    /** 法定代表人证件号码 */
    private String legalCertNo;

    /** 股东1 */
    private String shareholder1;

    /** 股东2 */
    private String shareholder2;

    /** 股东3 */
    private String shareholder3;

    /** 股东4 */
    private String shareholder4;

    /** 股东5 */
    private String shareholder5;

    /** 经营状态 */
    private String status;

    /** 创建人 */
    @TableField(fill = FieldFill.INSERT)
    private String createdBy;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新人 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updatedBy;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /** 数据来源,MANUAL:手动录入, SYSTEM:系统同步, API:接口获取, IMPORT:批量导入 */
    private String dataSource;

    /** 风险等级：1-高风险, 2-中风险, 3-低风险 */
    private String riskLevel;

    /** 企业来源：GENERAL-一般企业, EMP_RELATION-员工关系人, CREDIT_CUSTOMER-信贷客户, SUPPLIER-供应商, INTERMEDIARY-中介, BOTH-兼有 */
    private String entSource;
}
