package xiaozhi.modules.sys.dto;
|
|
import java.io.Serializable;
|
import java.util.Date;
|
import java.util.List;
|
|
import org.hibernate.validator.constraints.Range;
|
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.constraints.Email;
|
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.Null;
|
import lombok.Data;
|
import xiaozhi.common.utils.DateUtils;
|
import xiaozhi.common.validator.group.AddGroup;
|
import xiaozhi.common.validator.group.DefaultGroup;
|
import xiaozhi.common.validator.group.UpdateGroup;
|
|
/**
|
* 用户管理
|
*/
|
@Data
|
@Schema(description = "用户管理")
|
public class SysUserDTO implements Serializable {
|
@Schema(description = "id")
|
@Null(message = "{id.null}", groups = AddGroup.class)
|
@NotNull(message = "{id.require}", groups = UpdateGroup.class)
|
private Long id;
|
|
@Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotBlank(message = "{sysuser.username.require}", groups = DefaultGroup.class)
|
private String username;
|
|
@Schema(description = "密码")
|
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
@NotBlank(message = "{sysuser.password.require}", groups = AddGroup.class)
|
private String password;
|
|
@Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotBlank(message = "{sysuser.realname.require}", groups = DefaultGroup.class)
|
private String realName;
|
|
@Schema(description = "头像")
|
private String headUrl;
|
|
@Schema(description = "性别 0:男 1:女 2:保密", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Range(min = 0, max = 2, message = "{sysuser.gender.range}", groups = DefaultGroup.class)
|
private Integer gender;
|
|
@Schema(description = "邮箱")
|
@Email(message = "{sysuser.email.error}", groups = DefaultGroup.class)
|
private String email;
|
|
@Schema(description = "手机号")
|
private String mobile;
|
|
@Schema(description = "部门ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotNull(message = "{sysuser.deptId.require}", groups = DefaultGroup.class)
|
private Long deptId;
|
|
@Schema(description = "状态 0:停用 1:正常", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Range(min = 0, max = 1, message = "{sysuser.status.range}", groups = DefaultGroup.class)
|
private Integer status;
|
|
@Schema(description = "创建时间")
|
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
|
private Date createDate;
|
|
@Schema(description = "超级管理员 0:否 1:是")
|
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
|
private Integer superAdmin;
|
|
@Schema(description = "角色ID列表")
|
private List<Long> roleIdList;
|
|
@Schema(description = "岗位ID列表")
|
private List<Long> postIdList;
|
|
@Schema(description = "部门名称")
|
private String deptName;
|
|
}
|