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

import com.ruoyi.cai.enums.AuditStatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Data
public class CurrentUserUpdateInfoVo implements Serializable {
    @Schema(description = "用户ID")
    private Long userId;

    /**
     * 用户号/ID号
     */
    @Schema(description = "蜜瓜号")
    private String usercode;

    @Schema(description = "邀请人ID")
    private Long inviteId;
    /**
     * 昵称
     */
    @Schema(description = "昵称")
    private String nickname;
    /**
     * 手机号
     */
    @Schema(description = "手机号")
    private String mobile;
    /**
     * 头像
     */
    @Schema(description = "审核头像对象")
    private Avatar auditAvatar;
    /**
     * 头像状态，0 系统默认头像，1 用户自定义头像
     */
    @Schema(description = "头像状态 0-默认 1-自定义")
    private Integer avatarState;
    /**
     * 性别   0 未知  1  女  2 男
     */
    @Schema(description = "性别 0-未知 1-女 2-男")
    private Integer gender;
    /**
     *
     */
    @Schema(description = "生日")
    private LocalDate birthday;

    @Schema(description = "年龄")
    private Integer age = 18;
    /**
     * 城市
     */
    @Schema(description = "城市ID")
    private Integer cityId;
    @Schema(description = "城市")
    private String city;
    /**
     * 是否是播主  0 否  1 是
     */
    @Schema(description = "主播 0-否 1-是")
    private Integer isAnchor;
    /**
     * 开启视频接听   0 未开启  1 已开启
     */
    @Schema(description = "开启视频接听 0-否 1-是")
    private Integer openVideoStatus;
    /**
     * 状态  0 可用  1 不可用
     */
    @Schema(description = "可用状态 0-可用 1-封禁")
    private Integer status;
    /**
     * 资料是否完成  0 未完成  1已完成
     */
    @Schema(description = "资料是否完成  0 未完成  1已完成")
    private Integer finishStatus;

    /**
     * 相册
     */
    @Schema(description = "相册")
    private List<UserAlbumDTO> userAlbumList;


    @Schema(description = "头像修改模型")
    @Data
    public static class Avatar {
        @Schema(description = "头像")
        private String avatar;
        @Schema(description = "状态 0-未审核 1-审核通过 2-审核未通过")
        private Integer auditStatus = AuditStatusEnum.SUCCESS.getCode();
        @Schema(description = "审核时间")
        private LocalDateTime auditTime;
        /**
         * 审核备注
         */
        @Schema(description = "审核备注")
        private String auditRemark;


    }

}
