UserEntity.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.dms.model;
  2. import java.time.LocalDateTime;
  3. import lombok.Data;
  4. /** sys_user 表实体(对齐 Alembic 0016 head)。 */
  5. @Data
  6. public class UserEntity {
  7. private Long id;
  8. private Long createdBy;
  9. private Long updatedBy;
  10. private LocalDateTime createdAt;
  11. private LocalDateTime updatedAt;
  12. private LocalDateTime deletedAt;
  13. private Boolean isDeleted;
  14. private Integer rowVersion;
  15. private String username;
  16. private String passwordHash;
  17. private String realName;
  18. private Long organizationId;
  19. private String organizationName;
  20. private String roleCode;
  21. private String securityLevel;
  22. private String status;
  23. private Integer authVersion;
  24. private LocalDateTime lastLoginAt;
  25. private String lastLoginIp;
  26. /** 登录失败锁定:连续密码错误计数与锁定截止时间(UTC,null=未锁定)。 */
  27. private Integer failedLoginCount;
  28. private LocalDateTime lockedUntil;
  29. private String externalId;
  30. /** 席位(契约1.46):右上角用户信息第二行「机构 + 空格 + 席位」展示;可空。 */
  31. private String seatName;
  32. /** 用户类型(契约1.46):NORMAL=普通用户、COMMANDER=首长(仍属 USER 类别,
  33. * 仅重置密码方式后续差异化);DB 缺省 NORMAL。 */
  34. private String userType;
  35. /** 界面主题偏好(账号级漫游,契约1.20):blue/red/green,存量与缺省为 blue。 */
  36. private String uiTheme;
  37. /** 拖动排序号(契约1.27):拖拽重排按步长10全量重编号,排序号输入已废止。 */
  38. private Integer sortNo;
  39. /** 用户级管理范围(契约1.30):null=全局、0=跟随本人所在机构(SELF 哨兵)、
  40. * 机构ID=固定锚点;仅角色锚点为 SELF 时生效(实际范围以角色设置为准)。 */
  41. private Long managedOrgId;
  42. /** 一次一码会话代(安全需求):当前有效授权码的 JWT jti;写操作成功后轮换,
  43. * 旧码写操作拒绝。NULL = 未纳管(存量会话/轮换开关关闭期间登录),校验跳过。 */
  44. private String sessionJti;
  45. }