package com.xiaoniu.subsystem.system.domain.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * @Author haoxuyang
 * @Date 2024/11/28 10:11
 */
@Data
@Schema(description = "添加用户参数DTO")
public class AddSysUserDTO {

    /**
     * 单位ID
     */
    @NotNull(message = "单位ID不能为空")
    @Schema(description = "单位ID")
    private Long unitId;

    /**
     * 岗位ID
     */
    @Schema(description = "岗位ID")
    private Long postId;

    /**
     * 角色ID
     */
    @Schema(description = "角色ID")
    @NotNull(message = "角色id不能为空")
    private Long roleId;

    /**
     * 用户账号
     */
    @NotEmpty(message = "用户账号不能为空")
    @Schema(description = "用户账号")
    private String userName;

    /**
     * 密码
     */
    @NotEmpty(message = "密码不能为空")
    @Schema(description = "密码")
    private String password;

    /**
     * 用户昵称
     */
    // @NotEmpty(message = "用户昵称不能为空")
    @Schema(description = "用户昵称")
    private String nickName;
    /**
     * 真名
     */
    @Schema(description = "真名")
    private String realName;

    /**
     * 用户邮箱
     */
    @Schema(description = "用户邮箱")
    private String email;
    /**
     * 手机号码
     */
    // @NotEmpty(message = "手机号码不能为空")
    @Schema(description = "手机号码")
    private String phonenumber;

    /**
     * 用户性别（0男 1女 2未知）
     */
    @Schema(description = "用户性别（0男 1女 2未知）")
    private String sex;

    /**
     * 证件类型（0身份证 1驾照 2军官证 3文职干部证 4士官证 5军事院校学院证 6其他）
     */
    // @NotNull(message = "证件类型不能为空")
    @Schema(description = "证件类型（0身份证 1驾照 2军官证 3文职干部证 4士官证 5军事院校学院证 6其他）")
    private Short documentType;
    /**
     * 证件号码
     */
    // @NotEmpty(message = "证件号码不能为空")
    @Schema(description = "证件号码")
    private String documentNumber;

    /**
     * 生日
     */
    @Schema(description = "生日")
    private String birthday;

    /**
     * 帐号状态（0正常 1停用）
     */
    @NotEmpty(message = "状态不能为空")
    @Schema(description = "帐号状态（0正常 1停用）")
    private String status;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;

}
