package com.yolo.keyboard.controller.admin.user.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 键盘用户 Response VO")
@Data
@ExcelIgnoreUnannotated
public class KeyboardUserRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "22036")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "用户 Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16033")
    @ExcelProperty("用户 Id")
    private Long uid;

    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("用户昵称")
    private String nickName;

    @Schema(description = "性别")
    @ExcelProperty("性别")
    private Integer gender;

    @Schema(description = "头像地址", example = "https://www.iocoder.cn")
    @ExcelProperty("头像地址")
    private String avatarUrl;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "更新时间")
    @ExcelProperty("更新时间")
    private LocalDateTime updatedAt;

    @Schema(description = "邮箱地址")
    @ExcelProperty("邮箱地址")
    private String email;

    @Schema(description = "是否禁用", example = "1")
    @ExcelProperty("是否禁用")
    private Boolean status;



    @Schema(description = "苹果登录subjectId", example = "12266")
    @ExcelProperty("苹果登录subjectId")
    private String subjectId;

    @Schema(description = "邮箱是否验证")
    @ExcelProperty("邮箱是否验证")
    private Boolean emailVerified;

    @Schema(description = "是否是 VIP")
    @ExcelProperty("是否是 VIP")
    private Boolean isVip;

    @Schema(description = "VIP 过期时间")
    @ExcelProperty("VIP 过期时间")
    private LocalDateTime vipExpiry;

}