package com.linkwechat.wecom.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.linkwechat.common.core.domain.BaseEntity;
import com.linkwechat.common.utils.SnowFlakeUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 具有外部联系人功能企业员工也客户的关系对象 we_flower_customer_rel
 * 
 * @author ruoyi
 * @date 2020-09-19
 */
@Data
@SuperBuilder
@ApiModel
@AllArgsConstructor
@NoArgsConstructor
@TableName("we_flower_customer_rel")
public class WeFlowerCustomerRel extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(type = IdType.AUTO)
    @TableField("id")
    private Long id;

    @ApiModelProperty(value = "企业id")
    @TableField("corp_id")
    private String corpId;

    /**
     * 添加了此外部联系人的企业成员userid
     */
    @ApiModelProperty(value = "添加了此外部联系人的企业成员userid")
    @TableField("user_id")
    private String userId;

    /**
     * 该成员对此外部联系人的描述
     */
    @ApiModelProperty(value = "该成员对此外部联系人的描述")
    @TableField("description")
    private String description;

    /**
     * 该成员对此客户备注的企业名称
     */
    @ApiModelProperty(value = "该成员对此客户备注的企业名称")
    @TableField("remark_corp_name")
    private String remarkCorpName;

    /**
     * 该成员对此客户备注的手机号码
     */
    @ApiModelProperty(value = "该成员对此客户备注的手机号码")
    @TableField("remark_mobiles")
    private String remarkMobiles;

    /**
     * 发起添加的userid，如果成员主动添加，为成员的userid；如果是客户主动添加，则为客户的外部联系人userid；如果是内部成员共享/管理员分配，则为对应的成员/管理员userid
     */
    @ApiModelProperty(value = "发起添加的userid")
    @TableField("oper_userid")
    private String operUserId;

    /**
     * 该成员添加此客户的来源，
     */
    @ApiModelProperty(value = "该成员添加此客户的来源")
    @TableField("add_way")
    private Integer addWay;

    /**
     * 企业自定义的state参数，用于区分客户具体是通过哪个「联系我」添加，由企业通过创建「联系我」方式指定
     */
    @ApiModelProperty(value = "企业自定义的state参数")
    @TableField("state")
    private String state;

    /**
     * 客户id
     */
    @ApiModelProperty(value = "客户id")
    @TableField("external_userid")
    private String externalUserid;

    /**
     * 状态（0正常 1删除）
     */
    @ApiModelProperty(value = "状态（0正常 1删除）")
    @TableField("del_flag")
    private Integer delFlag;

    /**
     * 该成员添加此外部联系人的时间
     */
    @ApiModelProperty(value = "该成员添加此外部联系人的时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date addTime;


    /** 备注 */
    private String remark;


    /** 邮件 */
    private String email;


    /** qq */
    private String qq;

    /**地址*/
    private String address;

}
