package com.aijiuyi.admin.entity; import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import java.time.LocalDateTime; /** * 应用用户实体(统一用户表,通过 userType 区分角色) * 对应数据库 app_user 表 * userType: 1=普通用户,2=专家,3=管理员 */ @Data @TableName("app_user") public class AppUser { /** 主键ID */ @TableId(type = IdType.AUTO) private Long id; /** 用户名(唯一,用于后台管理员登录) */ private String username; /** 密码(MD5加密存储,后台账号使用;不序列化到响应) */ @JSONField(serialize = false) private String password; /** 手机号(唯一,用于App端登录) */ private String phone; /** 昵称 */ private String nickname; /** 头像URL */ private String avatar; /** * 用户类型(角色):1=普通用户,2=专家,3=管理员 */ private Integer userType; /** * 管理员角色:1=超级管理员,2=运营人员,3=只读用户(仅 userType=3 时有效) */ private Integer adminRole; /** 状态:1=正常,0=禁用 */ private Integer status; /** 最后登录时间 */ private LocalDateTime lastLoginTime; /** 逻辑删除:0=未删除,1=已删除 */ @TableLogic private Integer deleted; /** 创建时间(自动填充) */ @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; /** 更新时间(自动填充) */ @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; }