package com.kiisoo.ic.customer.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.Value;

import java.util.Date;

/**
 * @Description:  店铺企业微信信息
 * @Author:  yinliujing
 * @Date: 2020-04-08
 */
@Data
@TableName ("op_customer_enterprise_wechat")
public class OpCustomerEnterpriseWechat {

	/**
	 * 主键ID
	 */
    @TableId(type = IdType.AUTO)
	private Long id;

	/**
	 * 添加了此外部联系人的企业成员userid
	 */
	private String userid;

	/**
	 * 客户ID
	 */
	private Long customerId;

	/**
	 * 外部联系人的userid
	 */
	@JSONField(name = "external_userid")
	private String externalUserid;

	/**
	 * 该成员添加此外部联系人的时间
	 */
	private Date createtime;

	/**
	 * 修改时间
	 */
	private Date updateTime;

	/**
	 * 外部联系人的名称
	 */
	private String name;

	/**
	 * 外部联系人头像，第三方不可获取
	 */
	private String avatar;
	/**
	 * 外部联系人的类型，1表示该外部联系人是微信用户，2表示该外部联系人是企业微信用户
	 */
	private  int type;

	/**
	 * 外部联系人性别 0-未知 1-男性 2-女性
	 */
	private  int gender;

	/**
	 *外部联系人在微信开放平台的唯一身份标识（微信unionid），通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当联系人类型是微信用户，且企业或第三方服务商绑定了微信开发者ID有此字段。查看绑定方法
	 */
	private String unionid;

	/**
	 * 外部联系人的职位，如果外部企业或用户选择隐藏职位，则不返回，仅当联系人类型是企业微信用户时有此字段
	 */
	private String position;
	/**
	 * 外部联系人所在企业的简称，仅当联系人类型是企业微信用户时有此字段
	 */
	@JSONField(name = "corp_name")
	private String corpName;
	/**
	 * 外部联系人所在企业的主体名称，仅当联系人类型是企业微信用户时有此字段
	 */
	@JSONField(name = "corp_full_name")
	private  String corpFullName;
	/**
	 * 外部联系人的自定义展示信息，可以有多个字段和多种类型，包括文本，网页和小程序，仅当联系人类型是企业微信用户时有此字段，字段详情见对外属性
	 */
	@JSONField(name = "external_profile")
	private  String externalProfile;
	/**
	 * 该成员对此外部联系人的备注
	 */
	private  String remark;
	/**
	 * 该成员对此外部联系人的描述
	 */
	private  String description;
	/**
	 * group_name 该成员添加此外部联系人所打标签的分组名称（标签功能需要企业微信升级到2.7.5及以上版本）
	 */
	private  String tagsGroupName;
	/**
	 * 该成员添加此外部联系人所打标签名称
	 */
	private  String tagsName;
	/**
	 * 该成员添加此外部联系人所打标签类型, 1-企业设置, 2-用户自定义
	 */
	private  int tagsType;
	/**
	 * 该成员对此客户备注的企业名称
	 */
	private String remarkCorpName;
	/**
	 * 该成员对此客户备注的手机号码，第三方不可获取
	 */
	private String remarkMobiles;
	/**
	 * 该成员添加此客户的渠道，由用户通过创建「联系我」方式指定
	 */
	private String state;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 创建人
	 */
	private String createBy;
	/**
	 * 修改人
	 */
	private String updateBy;
}
