package com.seer.teach.user.api.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.seer.teach.common.enums.RoleEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDate;

@Getter
@Setter
@Schema(name = "UserInfoDTO", description = "RPC 服务 - 用户信息 Response DTO")
public class UserInfoDTO {

    private Integer id;

    @Schema(description = "用户名或手机号")
    private String userName;

    @Schema(description = "密码")
    private String password;

    @Schema(description = "头像url")
    private String avatar;

    @Schema(description = "真实姓名")
    private String realName;

    @Schema(description = "身份证号")
    @TableField("id_card_number")
    private String idCardNumber;

    @Schema(description = "性别（0-女，1-男）")
    @TableField("gender")
    private Integer gender;

    @Schema(description = "昵称")
    private String nickName;

    @Schema(description = "手机号")
    private String mobile;

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

    @Schema(description = "出生日期")
    private LocalDate birthDate;

    @Schema(description = "微信union_id")
    private String unionId;

    @Schema(description = "微信open_id")
    private String openId;

    @Schema(description = "年级ID")
    private Integer gradeId;

    @Schema(description = "等级ID")
    private Integer levelId;

    @Schema(description = "经验值")
    private Integer experience;

    @Schema(description = "角色编码")
    private RoleEnum roleCode;
}