package com.yunzhi.marketing.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 人员表
 * </p>
 *
 * @author jobob
 * @since 2019-05-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TaPerson implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 人员ID
     */

    @TableId(value = "person_id", type = IdType.UUID)
    private String personId;

    /**
     * 人员类型
     */
    private String personType;

    /**
     * 密码
     */
    private String password;

    /**
     * 姓名
     */
    private String name;

    /**
     * 电话
     */
    private String tel;

    /**
     * 性别
     */
    private Integer sex;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 地址
     */
    private String address;

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

    /**
     * 公司
     */
    private String company;

    /**
     * 部门
     */
    private String department;

    /**
     * 职位
     */
    private String post;

    /**
     * 照片
     */
    private String photo;

    /**
     * 状态
     */
    private Integer status;

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

    /**
     * 创建时间
     */
    private LocalDateTime createDate;

    /**
     * 人气
     */
    private Integer hotNum;

    /**
     * 分享
     */
    private Integer shareNum;

    /**
     * 点赞
     */
    private Integer likeNum;

    /**
     * 浏览量
     */
    private Integer pvNum;

    /**
     * 小程序ID
     */
    private String miniOpenid;

    /**
     * 微信昵称
     */
    private String nickname;

    /**
     * 微信头像
     */
    private String avatarurl;

    /**
     * 微信手机
     */
    private String phone;

    /**
     * 海报背景
     */
    private String poster;

    /**
     * 是否注册
     */
    private Integer isSignup;

    /**
     * 身份说明
     */
    private String idRemark;

    /**
     * 名片图片
     */
    private String cardImg;

    /**
     * 注册审核
     */
    private Integer signupStatus;

    /**
     * 审核结果说明
     */
    private String verifyDesc;

    /**
     * 累计积分
     */
    private Integer points;

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

    /**
     * 项目id
     */
    private String buildingId;

    /**
     * 授权手机号时间
     */
    private LocalDateTime authPhoneTime;

    /**
     * 授权昵称时间
     */
    private LocalDateTime authNicknameTime;

    /**
     * 访问记录
     */
    @TableField(exist = false)
    private IPage<TaPersonVisitRecord> visitRecords;

    @TableField(exist = false)
    private List<String> projects;

    @TableField(exist = false)
    private String data;

    @TableField(exist = false)
    private String event;

    @TableField(exist = false)
    private String activity;

    @TableField(exist = false)
    private LocalDateTime visitTime;

    private String personTags;

    private String personDescription;

    private String gender;

    private String unionId;

    private String country;

    private String province;

    private String city;

    private String language;

    private Integer saveNum;

    private String recommendPerson;

    private String recommendPersonType;

    private String fromCode;

    private Integer orgId;

    private Integer userId;

    private String userPort;

    private String agentCode;

    private String recommendAgent;

    @TableField(exist = false)
    private Integer isSave;

    @TableField(exist = false)
    private int recommendCount;

    @TableField(exist = false)
    private TaOrg org;

    /**
     * 渠道名称
     */
    @TableField(exist = false)
    private String channelName;

    /**
     * 邀请客户总数
     */
    @TableField(exist = false)
    private int inviteCount;

    private String miniappId;

    @TableField(exist = false)
    private List<TaPoster> posters;

    @TableField(exist = false)
    private List<TaShareContent> shareContents;

    @TableField(exist = false)
    private List<PersonIntention> intentions;

    @TableField(exist = false)
    private Integer visitTimes;
    /**
     * 推广人
     */
    @TableField(exist = false)
    private String sharePersonName;

    @TableField(exist = false)
    private Integer duration;

    /**
     * 来源类型
     */
    @TableField(exist = false)
    private String personFrom;

    /**
     * 用户来源
     */
    @TableField(exist = false)
    private String sceneAlias;

    /**
     * 访问内容类型
     */
    @TableField(exist = false)
    private String targetType;

    /**
     * 访问内容ID
     */
    @TableField(exist = false)
    private String targetId;

    /**
     * 访问内容名称
     */
    @TableField(exist = false)
    private String targetName;

    /**
     * 渠道 ID
     */
    private Integer channelId;

    /**
     * 推广码ID
     */
    private Integer qrCodeId;

    /**
     * ta_person_building 的主键
     */
    @TableField(exist = false)
    private String id;
}
