package com.storlead.sales.pojo.entity.customer;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.storlead.framework.mybatis.entity.SysBaseField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 官网用户信息表
 * </p>
 *
 * @author YPZ
 * @since 2025-03-06
 */
@Data
@Accessors(chain = true)
@TableName("user_info")
@ApiModel(value="UserInfoEntity对象", description="用户信息表")
public class UserInfoEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "用户 id")
    @TableId(value = "user_id", type = IdType.AUTO)
    private Long userId;

    @ApiModelProperty(value = "关联投资表主键")
    @TableField("invested_id")
    private Integer investedId;

    @ApiModelProperty(value = "关联已认证的公司 ID")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "企业类型 1: 系统集成商 2: 生产商 3: 第三方设计 4: 分销商 5: 终端用户 6: 其他")
    @TableField("company_type")
    private Integer companyType;

    @ApiModelProperty(value = "意向合作业务字段: 1: 存储产品 2: 闪存测试 3: 军用计算机 4: 芯片设计 5: 存储列阵 6: FPGA 信号处理基板")
    @TableField("cooperation_business_type")
    private String cooperationBusinessType;

    @ApiModelProperty(value = "关注的模块")
    @TableField("focus_module")
    private String focusModule;

    @ApiModelProperty(value = "手机号")
    @TableField("mobile")
    private String mobile;

    @ApiModelProperty(value = "微信昵称")
    @TableField("wechat_nick_name")
    private String wechatNickName;

    @ApiModelProperty(value = "微信头像")
    @TableField("wechat_profile_photo")
    private String wechatProfilePhoto;

    @ApiModelProperty(value = "微信openid")
    @TableField("open_id")
    private String openId;

    @ApiModelProperty(value = "用户登陆密码")
    @TableField("password")
    private String password;

    @ApiModelProperty(value = "用户编号")
    @TableField("user_num")
    private String userNum;

    @ApiModelProperty(value = "用户状态 1有效 2无效")
    @TableField("status")
    private Boolean status;

    @ApiModelProperty(value = "用户企业认证状态 默认1 1:未申请认证 2:待认证 3:已通过认证 4:认证失败")
    @TableField("company_auth_status")
    private Boolean companyAuthStatus;

    @ApiModelProperty(value = "注册来源")
    @TableField("created_source")
    private String createdSource;

    @ApiModelProperty(value = "创建人")
    @TableField("created_by")
    private Integer createdBy;

    @ApiModelProperty(value = "创建时间")
    @TableField("created_time")
    private LocalDateTime createdTime;

    @ApiModelProperty(value = "更新人")
    @TableField("updated_by")
    private Integer updatedBy;

    @ApiModelProperty(value = "更新时间")
    @TableField("updated_time")
    private LocalDateTime updatedTime;

    @TableField("user_name")
    private String userName;

    @ApiModelProperty(value = "跟进状态 1: 待跟进 2: 跟进中 3: 已完成 4: 不考虑 默认1")
    @TableField("follow_up_status")
    private Boolean followUpStatus;

    @ApiModelProperty(value = "注册时间")
    @TableField("register_time")
    private LocalDateTime registerTime;

    @ApiModelProperty(value = "注册ip")
    @TableField("register_ip")
    private String registerIp;

    @ApiModelProperty(value = "注册平台 WEB/IOS/ANDROID/WECHAT")
    @TableField("register_platform")
    private String registerPlatform;

    @ApiModelProperty(value = "注册国家2位代码 CN/US")
    @TableField("register_country_code")
    private String registerCountryCode;

    @ApiModelProperty(value = "注册国家")
    @TableField("register_country")
    private String registerCountry;

    @ApiModelProperty(value = "注册省/州2位代码")
    @TableField("register_region_code")
    private String registerRegionCode;

    @ApiModelProperty(value = "注册省/州")
    @TableField("register_region")
    private String registerRegion;

    @ApiModelProperty(value = "注册城市")
    @TableField("register_city")
    private String registerCity;

    @ApiModelProperty(value = "最后登陆时间")
    @TableField("last_login_time")
    private LocalDateTime lastLoginTime;

    @ApiModelProperty(value = "最后登陆ip")
    @TableField("last_login_ip")
    private String lastLoginIp;

    @ApiModelProperty(value = "最后访问平台 WEB/IOS/ANDROID/WECHAT")
    @TableField("last_login_platform")
    private String lastLoginPlatform;

    @ApiModelProperty(value = "最后访问国家2位代码 CN/US")
    @TableField("last_login_country_code")
    private String lastLoginCountryCode;

    @ApiModelProperty(value = "最后访问国家")
    @TableField("last_login_country")
    private String lastLoginCountry;

    @ApiModelProperty(value = "最后访问省/州2位代码")
    @TableField("last_login_region_code")
    private String lastLoginRegionCode;

    @ApiModelProperty(value = "最后访问省/州")
    @TableField("last_login_region")
    private String lastLoginRegion;

    @ApiModelProperty(value = "最后访问城市")
    @TableField("last_login_city")
    private String lastLoginCity;

    @ApiModelProperty(value = "顶级跟进管理员id（管理员最后分配跟进人员id，可以查看全部跟进记录）")
    @TableField("top_follow_sys_user_id")
    private Integer topFollowSysUserId;

    @ApiModelProperty(value = "当前跟进管理员id")
    @TableField("follow_sys_user_id")
    private Integer followSysUserId;

    /**
     * 是否同步到crm（1已同步，0未同步）
     */
    @TableField("to_crm")
    private Boolean toCrm;


}
