package com.wok.supportbot.entity; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serial; import java.io.Serializable; import java.util.Date; import java.util.List; /** * 系统用户实体 */ @Data @Builder @AllArgsConstructor @NoArgsConstructor @TableName("sys_user") public class SysUser implements Serializable { @Serial @TableField(exist = false) private static final long serialVersionUID = 1L; /** 主键ID(雪花算法) */ @TableId(value = "id", type = IdType.ASSIGN_ID) @JsonSerialize(using = ToStringSerializer.class) private Long id; /** 用户名 */ @TableField("username") private String username; /** 密码(BCrypt 加密) */ @TableField("password") private String password; /** 昵称 */ @TableField("nickname") private String nickname; /** 邮箱 */ @TableField("email") private String email; /** 手机号 */ @TableField("phone") private String phone; /** 头像URL */ @TableField("avatar") private String avatar; /** 是否启用 */ @TableField("enabled") private Boolean enabled; /** 最后登录时间 */ @TableField("last_login_time") private Date lastLoginTime; /** 创建时间 */ @TableField(value = "create_time", fill = FieldFill.INSERT) private Date createTime; /** 更新时间 */ @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) private Date updateTime; /** 逻辑删除标识 */ @TableField("is_delete") @TableLogic private Boolean isDelete; /** 用户角色列表(非持久化,查询时填充) */ @TableField(exist = false) private List roles; }