package com.storlead.trade.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.storlead.framework.mybatis.entity.SysBaseField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("customer")
@ApiModel(value = "CustomerEntity", description = "客户基本信息")
public class CustomerEntity extends SysBaseField {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键ID")
    private Long id;
    @ApiModelProperty(value = "编码")
    private String dataCode;
    @ApiModelProperty(value = "客户种类（10客户、11线索）")
    private Integer customerForm;
    @ApiModelProperty(value = "是否从线索过来（0否，1是）")
    private Integer hasFromClue;
    @ApiModelProperty(value = "是否公海客户（0否，1是）")
    private Integer hasPublicCustomer;
    @ApiModelProperty(value = "是否垃圾客户（0否，1是）")
    private Integer hasGarbageCustomer;
    @ApiModelProperty(value = "是否重点关注（0否，1是）")
    private Integer hasFollowCustomer;
    @ApiModelProperty(value = "客户代码")
    private String customerCode;
    @ApiModelProperty(value = "所属大洲")
    private String continent;
    @ApiModelProperty(value = "所属国家")
    private String country;
    @ApiModelProperty(value = "客户名称")
    private String customerName;
    @ApiModelProperty(value = "协作人员ID，逗号分割")
    private String collaborator;
    @ApiModelProperty(value = "意向产品ID，逗号分隔")
    private String intendedProductsIds;
    @ApiModelProperty(value = "意向产品名称，逗号分隔")
    private String intendedProductsNames;
    @ApiModelProperty(value = "线索状态value")
    private String clueStatusDictValue;
    @ApiModelProperty(value = "客户状态value")
    private String customerStatusDictValue;
    @ApiModelProperty(value = "客户来源value")
    private String customerSourceDictValue;
    @ApiModelProperty(value = "客户类型value")
    private String customerTypeDictValue;
    @ApiModelProperty(value = "代理合作客户ID")
    private Long cooperativeCustomerId;
    @ApiModelProperty(value = "客户等级value")
    private String customerLevelDictValue;
    @ApiModelProperty(value = "客户信用等级value")
    private String customerCreditLevelDictValue;
    @ApiModelProperty(value = "客户经济性质value")
    private String customerEconomicNatureDictValue;
    @ApiModelProperty(value = "助记名称")
    private String mnemonicName;
    @ApiModelProperty(value = "备注信息")
    private String remark;
    @ApiModelProperty(value = "开户行")
    private String openingBank;
    @ApiModelProperty(value = "税号")
    private String taxNumber;
    @ApiModelProperty(value = "银行账号")
    private String bankAccount;
    @ApiModelProperty(value = "置公原因value")
    private String reasonPublicCustomerDictValue;
    @ApiModelProperty(value = "是否有订单（0否，1是）")
    private Integer hasOrderForm;
    @ApiModelProperty(value = "最后跟进时间")
    private Date lastFollowUpTime;
    @ApiModelProperty(value = "未跟进天数")
    private Integer noFollowUpDate;
    @ApiModelProperty(value = "置公日期")
    private Date publicDate;
    @ApiModelProperty(value = "置公提醒日期")
    private Date publicRemindDate;
    @ApiModelProperty(value = "转垃圾客户日期")
    private Date garbageDate;
    @ApiModelProperty(value = "转垃圾客户提醒日期")
    private Date garbageRemindDate;
    @ApiModelProperty(value = "清除日期")
    private Date deleteDate;
    @ApiModelProperty(value = "清除预警日期")
    private Date deleteRemindDate;
    @ApiModelProperty(value = "客户归属时间")
    private Date ownerTime;
    @ApiModelProperty(value = "放弃时间")
    private Date giveUpTime;
    @ApiModelProperty(value = "前拥有者")
    private Long formerOwnerBy;
}
