package com.ruoyi.xq.dto.app.user.vo;

import com.ruoyi.xq.dto.app.common.UserPicturesDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Data
@Schema(description = "当前用户模型")
public class CurrentUserInfoVo {
    @Schema(description = "用户ID")
    private Long userId;
    @Schema(description = "用户编号")
    private String usercode;
    @Schema(description = "用户类型 0-普通用户 1-内部用户")
    private Integer type;
    /**
     * 昵称
     */
    @Schema(description = "昵称")
    private String nickname;
    /**
     * 手机号
     */
    @Schema(description = "手机号")
    private String mobile;
    /**
     * 头像
     */
    @Schema(description = "头像")
    private String avatar;
    /**
     * 性别   0 未知  1  女  2 男
     */
    @Schema(description = "性别 0-未知 1-女 2-男")
    private Integer gender;
    @Schema(description = "生日")
    private LocalDate birthday;
    @Schema(description = "年龄")
    private Integer age;
    @Schema(description = "居住城市")
    private String residenceCityName;
    @Schema(description = "居住城市编码")
    private Integer residenceCityCode;
    @Schema(description = "居住地名称")
    private String residenceName;
    @Schema(description = "居住地编码")
    private Integer residenceCode;
    @Schema(description = "户籍地名称")
    private String addressName;
    @Schema(description = "户籍地编码")
    private Integer addressCode;
    /**
     * 状态  0 可用  1 不可用
     */
    @Schema(description = "可用状态 0-可用 1-封禁")
    private Integer status;
    @Schema(description = "基础资料是否完成  0 未完成  1已完成")
    private Integer finishBaseStatus;
    @Schema(description = "基础信息完成进度")
    private Integer baseStep;

    @Schema(description = "imToken")
    private String imToken;

    @Schema(description = "已认证数量")
    private Integer alreadyAuthNum = 0;

    @Schema(description = "最大认证数量")
    private Integer maxAuthNum = 8;

    @Schema(description = "是否开通VIP")
    private Boolean openVip = false;
    /**
     * 还没有实现 TODO
     */
    @Schema(description = "vip等级",hidden = true)
    private Integer vipType;
    @Schema(description = "vip到期时间")
    private LocalDateTime vipTimeout;
    @Schema(description = "微信号")
    private String wxCode;
    /**
     * 收益的余额
     */
    @Schema(description = "收益的余额")
    private BigDecimal incomeCoin;
    /**
     * 交换微信次数
     */
    @Schema(description = "交换微信次数")
    private Integer wxTransNum = 0;
    /**
     * 相册
     */
    @Schema(description = "相册")
    private List<UserPicturesDTO> userPicturesList;
}
