package com.oying.modules.system.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import com.oying.base.BaseEntity; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.Date; import java.util.Objects; import java.util.Set; /** * @author Z * @date 2018-11-22 */ @Getter @Setter @TableName("sys_user") public class User extends BaseEntity implements Serializable { @NotNull(groups = Update.class) @TableId(value="user_id", type = IdType.AUTO) @ApiModelProperty(value = "ID", hidden = true) private Long id; @TableField(exist = false) @ApiModelProperty(value = "用户角色") private Set roles; @TableField(exist = false) @ApiModelProperty(value = "用户岗位") private Set jobs; @TableField(value = "dept_id") @ApiModelProperty(hidden = true) private Long deptId; @ApiModelProperty(value = "用户机构") @TableField(exist = false) private Dept dept; @NotBlank @ApiModelProperty(value = "用户名称") private String username; @NotBlank @ApiModelProperty(value = "用户昵称") private String nickName; @Email @NotBlank @ApiModelProperty(value = "邮箱") private String email; @NotBlank @ApiModelProperty(value = "电话号码") private String phone; @ApiModelProperty(value = "用户性别") private String gender; @ApiModelProperty(value = "头像真实名称",hidden = true) private String avatarName; @ApiModelProperty(value = "头像存储的路径", hidden = true) private String avatarPath; @ApiModelProperty(value = "密码") private String password; @NotNull @ApiModelProperty(value = "是否启用") private Boolean enabled; @ApiModelProperty(value = "是否为admin账号", hidden = true) private Boolean isAdmin = false; @ApiModelProperty(value = "最后修改密码的时间", hidden = true) private Date pwdResetTime; @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } User user = (User) o; return Objects.equals(id, user.id) && Objects.equals(username, user.username); } @Override public int hashCode() { return Objects.hash(id, username); } }