package cn.iocoder.yudao.module.custom.entity;

import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.util.Date;

import static cn.iocoder.yudao.common.DictBaseConstants.*;

/**
 * 客户管理 DO
 *
 * @author pqz
 */
@TableName("base_customer_main")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CustomerMain extends TenantBaseDO {

    /**
     * uuid
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * sys_user表id
     */
    private String userId;
    /**
     * 用户类型
     */
    @DictFormat(DICT_CUS_TYPE)
    private String typeCode;
    /**
     * 所属企业code（部门表code）
     */
    private String deptCode;
    /**
     * 客户名称（政企客户填企业名称）
     */
    private String cusName;
    /**
     * 联系方式
     */
    private String phoneNumber;
    /**
     * 生日
     */
    private Date birthday;
    /**
     * 住址
     */
    private String address;
    /**
     * 性别
     */
    @DictFormat(DICT_SYS_USER_SEX)
    private String sex;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 身份证照片
     */
    private String idCardImage;
    /**
     * 客户初始来源
     */
    @DictFormat(DICT_CUS_DATA_FROM)
    private String dataFrom;
    /**
     * 最近业务办理时间
     */
    private Date nearDoTime;
    /**
     * 最近办理业务（数据字典业务标识）
     */
    @DictFormat(DICT_CUS_BUSI_TYPE)
    private String nearDoContent;
    /**
     * 邀请者user_id
     */
    private String inviter;
    /**
     * 邀请者类型
     */
    @DictFormat(DICT_SIGN_TYPE)
    private String inviterType;
    /**
     * 客户状态
     */
    private String status;

}