package com.ruoyi.xq.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 用户管理对象 xq_user
 *
 * @author 77
 * @date 2024-03-04
 */
@Data
@TableName("xq_user")
public class User implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     *
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 用户号
     */
    private String usercode;
    /**
     * 昵称
     */
    private String nickname;
    /**
     * 用户类型: 0普通用户  1 内部用户
     */
    private Integer type;
    /**
     * 是否为VIP
     */
    private Boolean openVip;
    /**
     * @see com.ruoyi.xq.enums.vip.VipTypeEnum
     */
    @Schema(description = "开通的VIP类型")
    private Integer vipType;
    @Schema(description = "vip到期时间")
    private LocalDateTime vipTimeout;
    /**
     * 密码
     */
    private String password;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 性别 0-未知 1-女 2-男
     */
    private Integer gender;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 生日
     */
    private LocalDate birthday;
    /**
     * 身高
     */
    private Integer height;
    /**
     * 体重
     */
    private Integer weight;
    /**
     * 体型
     */
    private Integer somatotype;
    /**
     * 生肖
     */
    private Integer zodiac;
    /**
     * 星座
     */
    private Integer sign;
    /**
     * 居住地（名称）
     */
    private String residenceName;
    /**
     * 居住地代码
     */
    private Integer residenceCode;
    /**
     * 居住地城市编码
     */
    private Integer residenceCityCode;
    /**
     * 居住城市
     */
    private String residenceCityName;

    /**
     * 户籍地(名称)
     */
    private String addressName;
    /**
     * 户籍地代码
     */
    private Integer addressCode;

    /**
     * 学历
     */
    private Integer education;
    /**
     * 婚况
     */
    private Integer marriage;
    /**
     * 职业
     */
    private String profession;
    /**
     * 年收入
     */
    private Integer annualIncome;
    /**
     * 公司性质
     */
    private Integer companyNature;
    /**
     * 为谁征婚
     */
    private Integer forPersonals;
    /**
     * 自我描述
     */
    private String remark;
    /**
     * 状态 0-可用  1-不可用
     */
    private Integer status;

    @Schema(description = "基础资料是否完成  0 未完成  1已完成")
    private Integer finishBaseStatus;

    @Schema(description = "微信号")
    private String wxCode;

    /**
     * 基础信息完成进度
     */
    private Integer baseStep;
    /**
     * 邀请人
     */
    private Long inviteId;
    /**
     * im_token
     */
    private String imToken;

    private String openId;

    private LocalDateTime createTime;

    private LocalDateTime updateTime;

}
