package cn.iocoder.byzs.module.web.controller.admin.user.vo;

import cn.iocoder.byzs.module.system.enums.common.SexEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Set;

/**
 * 用户 DO
 *
 * @author 博雅智算源码
 */
@Data
public class WebUserVO {

    /**
     * 用户ID
     */
    private Long id;
    /**
     * 用户账号
     */
    private String username;
    /**
     * 加密后的密码
     *
     */
    private String password;
    /**
     * 用户昵称
     */
    private String nickname;
    /**
     * 用户邮箱
     */
    private String email;
    /**
     * 手机号码
     */
    private String mobile;
    /**
     * 用户性别
     *
     * 枚举类 {@link SexEnum}
     */
    private Integer sex;
    /**
     * 用户头像
     */
    private String avatar;

    /**
     * 是否是注册用户
     * 是：权限有效期
     * 否：针对平台权限
     */
    private Boolean isRegister;

    /**
     * 角色路由
     */
    private Set<String> roleRouteSet;

    //课程权限过期时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime courseExpireTime;

    //编程课权限过期时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime blocklyExpireTime;

    //AI实验课权限过期时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime aiCourseExpireTime;
}
