
package com.tmerclub.cloud.user.vo;

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 LTH
 */
public class UserMemberInfoVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "用户昵称")
    private String nickName;

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

    @Schema(description = "用户积分")
    private Long score;

    @Schema(description = "过期时间")
    private Date expireTime;

    @Schema(description = "用户普通会员等级信息")
    private UserLevelVO userOrdinaryLevel;

    @Schema(description = "用户付费会员等级信息")
    private UserLevelVO userPayedLevel;

    @Schema(description = "用户当前成长值")
    private Integer growth;

    @Schema(description = "购物可获取成长值")
    private Double shopScore;

    @Schema(description = "签到第几天")
    private Integer signInCount;

    @Schema(description = "会员等级说明列表")
    private List<UserLevelVO> userLevelList;

    public Long getScore() {
        return score;
    }

    public void setScore(Long score) {
        this.score = score;
    }

    public Date getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(Date expireTime) {
        this.expireTime = expireTime;
    }

    public Integer getGrowth() {
        return growth;
    }

    public void setGrowth(Integer growth) {
        this.growth = growth;
    }

    public Double getShopScore() {
        return shopScore;
    }

    public void setShopScore(Double shopScore) {
        this.shopScore = shopScore;
    }

    public Integer getSignInCount() {
        return signInCount;
    }

    public void setSignInCount(Integer signInCount) {
        this.signInCount = signInCount;
    }

    public String getNickName() {
        return nickName;
    }

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

    public String getPic() {
        return pic;
    }

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

    public List<UserLevelVO> getUserLevelList() {
        return userLevelList;
    }

    public void setUserLevelList(List<UserLevelVO> userLevelList) {
        this.userLevelList = userLevelList;
    }

    public UserLevelVO getUserOrdinaryLevel() {
        return userOrdinaryLevel;
    }

    public void setUserOrdinaryLevel(UserLevelVO userOrdinaryLevel) {
        this.userOrdinaryLevel = userOrdinaryLevel;
    }

    public UserLevelVO getUserPayedLevel() {
        return userPayedLevel;
    }

    public void setUserPayedLevel(UserLevelVO userPayedLevel) {
        this.userPayedLevel = userPayedLevel;
    }

    @Override
    public String toString() {
        return "UserMemberInfoVO{" +
                "nickName='" + nickName + '\'' +
                ", pic='" + pic + '\'' +
                ", score=" + score +
                ", expireTime=" + expireTime +
                ", userOrdinaryLevel=" + userOrdinaryLevel +
                ", userPayedLevel=" + userPayedLevel +
                ", growth=" + growth +
                ", shopScore=" + shopScore +
                ", signInCount=" + signInCount +
                ", userLevelList=" + userLevelList +
                '}';
    }

}
