package com.iailab.module.system.controller.admin.oauth2.vo.user; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Schema(description = "管理后台 - OAuth2 获得用户基本信息 Response VO") @Data @NoArgsConstructor @AllArgsConstructor public class OAuth2UserInfoRespVO { @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Long id; @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "iailab") private String username; @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "平台") private String nickname; @Schema(description = "用户邮箱", example = "iailab@iocoder.cn") private String email; @Schema(description = "手机号码", example = "15601691300") private String mobile; @Schema(description = "用户性别,参见 SexEnum 枚举类", example = "1") private Integer sex; @Schema(description = "用户头像", example = "https://www.baidu.com/xxx.png") private String avatar; /** * 所在部门 */ private Dept dept; /** * 所属岗位数组 */ private List posts; @Schema(description = "部门") @Data public static class Dept { @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Long id; @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部") private String name; } @Schema(description = "岗位") @Data public static class Post { @Schema(description = "岗位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Long id; @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "开发") private String name; } }