SysUser.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package com.ruoyi.system.domain;
  2. import com.baomidou.mybatisplus.annotation.*;
  3. import com.ruoyi.common.core.annotation.Sensitive;
  4. import com.ruoyi.common.core.constant.UserConstants;
  5. import com.ruoyi.common.core.enums.SensitiveStrategy;
  6. import com.ruoyi.common.core.web.domain.BaseEntity;
  7. import com.ruoyi.common.core.xss.Xss;
  8. import jakarta.validation.constraints.Email;
  9. import jakarta.validation.constraints.NotBlank;
  10. import jakarta.validation.constraints.Size;
  11. import lombok.Data;
  12. import lombok.EqualsAndHashCode;
  13. import lombok.NoArgsConstructor;
  14. import java.util.Date;
  15. import java.util.List;
  16. /**
  17. * 用户对象 sys_user
  18. *
  19. * @author Lion Li
  20. */
  21. @Data
  22. @NoArgsConstructor
  23. @EqualsAndHashCode(callSuper = true)
  24. @TableName("sys_user")
  25. public class SysUser extends BaseEntity {
  26. /**
  27. * 用户ID
  28. */
  29. @TableId(value = "user_id")
  30. private Long userId;
  31. /**
  32. * 部门ID
  33. */
  34. private Long deptId;
  35. /**
  36. * 用户账号
  37. */
  38. @Xss(message = "用户账号不能包含脚本字符")
  39. @NotBlank(message = "用户账号不能为空")
  40. @Size(min = 0, max = 30, message = "用户账号长度不能超过{max}个字符")
  41. private String userName;
  42. /**
  43. * 用户昵称
  44. */
  45. @Xss(message = "用户昵称不能包含脚本字符")
  46. @Size(min = 0, max = 30, message = "用户昵称长度不能超过{max}个字符")
  47. private String nickName;
  48. /**
  49. * 用户类型(sys_user系统用户)
  50. */
  51. private String userType;
  52. /**
  53. * 用户邮箱
  54. */
  55. @Sensitive(strategy = SensitiveStrategy.EMAIL)
  56. @Email(message = "邮箱格式不正确")
  57. @Size(min = 0, max = 50, message = "邮箱长度不能超过{max}个字符")
  58. private String email;
  59. /**
  60. * 手机号码
  61. */
  62. @Sensitive(strategy = SensitiveStrategy.PHONE)
  63. private String phonenumber;
  64. /**
  65. * 用户性别
  66. */
  67. private String sex;
  68. /**
  69. * 用户头像
  70. */
  71. private String avatar;
  72. /**
  73. * 密码
  74. */
  75. @TableField(
  76. insertStrategy = FieldStrategy.NOT_EMPTY,
  77. updateStrategy = FieldStrategy.NOT_EMPTY,
  78. whereStrategy = FieldStrategy.NOT_EMPTY
  79. )
  80. private String password;
  81. /**
  82. * 帐号状态(0正常 1停用)
  83. */
  84. private String status;
  85. /**
  86. * 删除标志(0代表存在 2代表删除)
  87. */
  88. @TableLogic
  89. private String delFlag;
  90. /**
  91. * 最后登录IP
  92. */
  93. private String loginIp;
  94. /**
  95. * 最后登录时间
  96. */
  97. private Date loginDate;
  98. /**
  99. * 备注
  100. */
  101. private String remark;
  102. /**
  103. * 部门对象
  104. */
  105. @TableField(exist = false)
  106. private SysDept dept;
  107. /**
  108. * 角色对象
  109. */
  110. @TableField(exist = false)
  111. private List<SysRole> roles;
  112. /**
  113. * 角色组
  114. */
  115. @TableField(exist = false)
  116. private Long[] roleIds;
  117. /**
  118. * 岗位组
  119. */
  120. @TableField(exist = false)
  121. private Long[] postIds;
  122. /**
  123. * 数据权限 当前角色ID
  124. */
  125. @TableField(exist = false)
  126. private Long roleId;
  127. public SysUser(Long userId) {
  128. this.userId = userId;
  129. }
  130. public boolean isAdmin() {
  131. return UserConstants.SUPER_ADMIN_ID.equals(this.userId);
  132. }
  133. }