package cn.iocoder.yudao.module.asset.dal.dataobject.customer;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 客户信息 DO
 *
 * @author 芋道源码
 */
@TableName("asset_customer")
@KeySequence("asset_customer_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CustomerDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;

    /**
     * 客户编号
     */
    private String customerNo;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 客户类型（0=个人 1=企业）
     */
    private Integer customerType;

    /**
     * 联系人
     */
    private String contactPerson;

    /**
     * 联系电话
     */
    private String contactPhone;

    /**
     * 联系邮箱
     */
    private String contactEmail;

    /**
     * 联系地址
     */
    private String contactAddress;

    /**
     * 身份证号
     */
    private String idCardNo;

    /**
     * 身份证正面照片URL
     */
    private String idCardFrontUrl;

    /**
     * 身份证反面照片URL
     */
    private String idCardBackUrl;

    /**
     * 驾驶证号
     */
    private String driverLicenseNo;

    /**
     * 驾驶证照片URL
     */
    private String driverLicenseUrl;

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

    /**
     * 统一社会信用代码
     */
    private String unifiedSocialCreditCode;

    /**
     * 营业执照URL
     */
    private String businessLicenseUrl;

    /**
     * 法人代表
     */
    private String legalPerson;

    /**
     * 信用等级（0=未评级 1=A级 2=B级 3=C级 4=D级）
     */
    private Integer creditLevel;

    /**
     * 押金金额
     */
    private BigDecimal depositAmount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 状态（0=正常 1=冻结 2=黑名单）
     */
    private Integer status;

}
