SysUserDTO.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.backendsys.entity.System;
  2. import com.backendsys.entity.validator.Phone;
  3. import com.backendsys.entity.validator.RangeArray;
  4. import jakarta.validation.constraints.*;
  5. import lombok.Data;
  6. import java.util.LinkedHashMap;
  7. import java.util.List;
  8. @Data
  9. public class SysUserDTO {
  10. public static interface Detail{}
  11. public static interface Login{}
  12. public static interface LoginWithPhone{}
  13. public static interface ForgotPassword{}
  14. public static interface Create{}
  15. public static interface Register{}
  16. public static interface Update{}
  17. public static interface UpdatePasswordSelf{}
  18. public static interface Audit{}
  19. public static interface ResetPassword{}
  20. public static interface Delete{}
  21. /**
  22. * sys_user
  23. */
  24. private Long id;
  25. @NotEmpty(message="用户名不能为空", groups = { Login.class, Create.class, Register.class })
  26. @Size(min = 2, max = 20, message = "用户名长度在 {min}-{max} 字符", groups = { Login.class, Create.class, Register.class })
  27. private String username;
  28. @NotEmpty(message="密码不能为空", groups = { Login.class, Create.class, Register.class, UpdatePasswordSelf.class, ForgotPassword.class })
  29. private String password;
  30. private Boolean is_remember;
  31. @NotEmpty(message="原密码不能为空", groups = { UpdatePasswordSelf.class })
  32. private String old_password;
  33. @NotEmpty(message="验证码不能为空", groups = { Login.class, Register.class })
  34. private String captcha;
  35. /**
  36. * sys_user_info
  37. */
  38. @NotNull(message="user_id 不能为空", groups = { Update.class, Detail.class, Audit.class, ResetPassword.class })
  39. //@Min(value = 1, message = "user_id 必须大于等于 0", groups = {Update.class, Delete.class})
  40. private Long user_id;
  41. private List<Long> user_ids;
  42. private String role_ids;
  43. @Size(min = 2, max = 20, message = "昵称长度在 {min}-{max} 字符", groups = { Create.class, Update.class })
  44. private String nickname;
  45. @Email(message="邮箱格式不正确", groups = { Create.class, Update.class })
  46. private String email;
  47. @NotEmpty(message="手机号码不能为空", groups = { Create.class, Register.class, LoginWithPhone.class, ForgotPassword.class })
  48. @Phone(message="手机号码格式不正确", groups = { Create.class, Update.class, LoginWithPhone.class, ForgotPassword.class })
  49. @Size(min = 9, max = 20, message = "手机号码长度在 {min}-{max} 字符", groups = { Create.class, Update.class, LoginWithPhone.class, ForgotPassword.class })
  50. private String phone;
  51. @NotNull(message="验证码不能为空", groups = { Register.class, LoginWithPhone.class, ForgotPassword.class })
  52. @Min(value = 100000, message = "验证码长度是 6 位字符", groups = { Register.class })
  53. @Max(value = 999999, message = "验证码长度是 6 位字符", groups = { Register.class })
  54. private Integer phone_valid_code;
  55. @NotNull(message="区号/国家码不能为空", groups = { Register.class, LoginWithPhone.class, ForgotPassword.class })
  56. @Max(value = 999999, message = "区号/国家码长度不超过 {value} 字符", groups = { Register.class })
  57. private Integer phone_area_code;
  58. @RangeArray(message="性别取值有误,范围应是(1男, 2女, 3保密)", value = {"1", "2", "3"}, groups = { Create.class })
  59. private Integer gender;
  60. @Size(max = 1000, message = "头像路径长度不超过 {max} 字符", groups = { Create.class, Update.class })
  61. private String avatar;
  62. @RangeArray(message="是否管理员取值有误,范围应是(-1否, 1是)", value = {"-1", "1"}, groups = { Create.class, Update.class })
  63. private Integer is_super;
  64. @RangeArray(message="状态取值有误,范围应是(-1禁用, 1启用)", value = {"-1", "1"}, groups = { Create.class, Update.class })
  65. private Integer status;
  66. @RangeArray(message="审核状态取值有误,范围应是(-1审核拒绝, 1待审核, 2审核通过)", value = {"-1", "1", "2"}, groups = { Audit.class })
  67. private Integer audit_status;
  68. @Size(max = 1000, message = "审核备注长度不超过 {max} 字符", groups = { Audit.class })
  69. private String audit_note;
  70. private String last_login_ip;
  71. private String last_login_uuid;
  72. private String last_login_time;
  73. private String create_time;
  74. private String update_time;
  75. private Integer del_flag;
  76. private Float point_balance;
  77. @Size(max = 50, message = "密钥长度不超过 {max} 字符", groups = { Register.class })
  78. // @NotEmpty(message="密钥不能为空", groups = { Register.class })
  79. private String invite_code;
  80. @NotEmpty(message="角色不能为空", groups = { Create.class, Update.class })
  81. private List<Long> role_id;
  82. private List<LinkedHashMap<String, Object>> roles;
  83. private List<String> modules;
  84. }