AppUser.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.aijiuyi.admin.entity;
  2. import com.alibaba.fastjson.annotation.JSONField;
  3. import com.baomidou.mybatisplus.annotation.*;
  4. import lombok.Data;
  5. import java.time.LocalDateTime;
  6. /**
  7. * 应用用户实体(统一用户表,通过 userType 区分角色)
  8. * 对应数据库 app_user 表
  9. * userType: 1=普通用户,2=专家,3=管理员
  10. */
  11. @Data
  12. @TableName("app_user")
  13. public class AppUser {
  14. /** 主键ID */
  15. @TableId(type = IdType.AUTO)
  16. private Long id;
  17. /** 用户名(唯一,用于后台管理员登录) */
  18. private String username;
  19. /** 密码(MD5加密存储,后台账号使用;不序列化到响应) */
  20. @JSONField(serialize = false)
  21. private String password;
  22. /** 手机号(唯一,用于App端登录) */
  23. private String phone;
  24. /** 昵称 */
  25. private String nickname;
  26. /** 头像URL */
  27. private String avatar;
  28. /**
  29. * 用户类型(角色):1=普通用户,2=专家,3=管理员
  30. */
  31. private Integer userType;
  32. /**
  33. * 管理员角色:1=超级管理员,2=运营人员,3=只读用户(仅 userType=3 时有效)
  34. */
  35. private Integer adminRole;
  36. /** 状态:1=正常,0=禁用 */
  37. private Integer status;
  38. /** 最后登录时间 */
  39. private LocalDateTime lastLoginTime;
  40. /** 逻辑删除:0=未删除,1=已删除 */
  41. @TableLogic
  42. private Integer deleted;
  43. /** 创建时间(自动填充) */
  44. @TableField(fill = FieldFill.INSERT)
  45. private LocalDateTime createTime;
  46. /** 更新时间(自动填充) */
  47. @TableField(fill = FieldFill.INSERT_UPDATE)
  48. private LocalDateTime updateTime;
  49. }