
package com.tmerclub.cloud.api.user.vo;

import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 用户表VO
 *
 * @author YXF
 * @date 2020-12-08 11:18:04
 */
public class UserApiVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "ID")
    private Long userId;

    @Schema(description = "用户名")
    private String userName;

    @Schema(description = "用户昵称")
    private String nickName;

    @Schema(description = "1(男) or 0(女)")
    private String sex;

    @Schema(description = "例如：2009-11-27")
    private String birthDate;

    @Schema(description = "头像图片路径")
    private String pic;

    @Schema(description = "状态 1 正常 0 无效")
    private Integer status;

    @Schema(description = "普通会员等级（冗余字段）")
    private Integer level;

    @Schema(description = "普通会员等级id")
    private Long userLevelId;

    @Schema(description = "普通会员等级名称")
    private String levelName;

    @Schema(description = "付费会员等级")
    private Integer vipLevel;

    @Schema(description = "付费会员等级id")
    private Long vipUserLevelId;

    @Schema(description = "付费会员等级名称")
    private String vipLevelName;

    @Schema(description = "vip开始时间" )
    private Date vipStartTime;

    @Schema(description = "vip结束时间" )
    private Date vipEndTime;

    @Schema(description = "等级条件 0 普通会员 1 付费会员")
    private Integer levelType;

    @Schema(description = "用户手机号")
    private String userMobile;

    @Schema(description = "用户手机号")
    private String phone;

    @Schema(description = "用户付费会员等级 商品个性化推荐 1:开启 0:关闭")
    private Integer prodRecommendation;

    /**
     * openId list
     */
    private List<String> bizUserIdList;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(String birthDate) {
        this.birthDate = birthDate;
    }

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Long getUserLevelId() {
        return userLevelId;
    }

    public void setUserLevelId(Long userLevelId) {
        this.userLevelId = userLevelId;
    }

    public String getLevelName() {
        return levelName;
    }

    public void setLevelName(String levelName) {
        this.levelName = levelName;
    }

    public Integer getVipLevel() {
        return vipLevel;
    }

    public void setVipLevel(Integer vipLevel) {
        this.vipLevel = vipLevel;
    }

    public Long getVipUserLevelId() {
        return vipUserLevelId;
    }

    public void setVipUserLevelId(Long vipUserLevelId) {
        this.vipUserLevelId = vipUserLevelId;
    }

    public String getVipLevelName() {
        return vipLevelName;
    }

    public void setVipLevelName(String vipLevelName) {
        this.vipLevelName = vipLevelName;
    }

    public Date getVipStartTime() {
        return vipStartTime;
    }

    public void setVipStartTime(Date vipStartTime) {
        this.vipStartTime = vipStartTime;
    }

    public Date getVipEndTime() {
        return vipEndTime;
    }

    public void setVipEndTime(Date vipEndTime) {
        this.vipEndTime = vipEndTime;
    }

    public Integer getLevelType() {
        return levelType;
    }

    public void setLevelType(Integer levelType) {
        this.levelType = levelType;
    }

    public String getUserMobile() {
        return userMobile;
    }

    public void setUserMobile(String userMobile) {
        this.userMobile = userMobile;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Integer getProdRecommendation() {
        return prodRecommendation;
    }

    public void setProdRecommendation(Integer prodRecommendation) {
        this.prodRecommendation = prodRecommendation;
    }

    public List<String> getBizUserIdList() {
        return bizUserIdList;
    }

    public void setBizUserIdList(List<String> bizUserIdList) {
        this.bizUserIdList = bizUserIdList;
    }

    @Override
    public String toString() {
        return "UserApiVO{" +
                "userId=" + userId +
                ", userName='" + userName + '\'' +
                ", nickName='" + nickName + '\'' +
                ", sex='" + sex + '\'' +
                ", birthDate='" + birthDate + '\'' +
                ", pic='" + pic + '\'' +
                ", status=" + status +
                ", level=" + level +
                ", userLevelId=" + userLevelId +
                ", levelName='" + levelName + '\'' +
                ", vipLevel=" + vipLevel +
                ", vipUserLevelId=" + vipUserLevelId +
                ", vipLevelName='" + vipLevelName + '\'' +
                ", vipStartTime=" + vipStartTime +
                ", vipEndTime=" + vipEndTime +
                ", levelType=" + levelType +
                ", userMobile='" + userMobile + '\'' +
                ", phone='" + phone + '\'' +
                ", prodRecommendation=" + prodRecommendation +
                ", bizUserIdList=" + bizUserIdList +
                '}';
    }
}
