| package com.dy.pmsGlobal.pojoBa; | 
|   | 
| import com.alibaba.fastjson2.annotation.JSONField; | 
| import com.alibaba.fastjson2.writer.ObjectWriterImplToString; | 
| import com.baomidou.mybatisplus.annotation.*; | 
| import com.dy.common.po.BaseEntity; | 
| import com.fasterxml.jackson.annotation.JsonFormat; | 
| import jakarta.validation.constraints.NotEmpty; | 
| import lombok.*; | 
| import org.hibernate.validator.constraints.Length; | 
|   | 
| import java.util.Date; | 
| import java.util.List; | 
|   | 
| /** | 
|  * 用户 | 
|  */ | 
| //2024-04-12下面TableName不用配置表名称(value="BaUser"或“ba_user”) | 
| //只要通过驼峰命名法则类名与表名对应起来就可以了,如果不能对应起来,需要指定表名称 | 
| //例如@TableName(value="TestUser" autoResultMap = true) | 
| @TableName(value="ba_user", autoResultMap = true) | 
| @Data | 
| @Builder | 
| @ToString | 
| @NoArgsConstructor | 
| @AllArgsConstructor | 
| public class BaUser implements BaseEntity { | 
|   | 
|     public static final long serialVersionUID = 202404121347001L; | 
|     /** | 
|      * 主键 | 
|      */ | 
|     /* 如果不明确 type类型,MP将自动为其赋值(雪花ID) | 
|     IdType: | 
|     AUTO(0),  //自增 | 
|     NONE(1), //未设置主键 | 
|     INPUT(2), //手动输入 | 
|     ASSIGN_ID(3),  //默认全局唯一ID | 
|     ASSIGN_UUID(4), //全局唯一的 uuid | 
|     */ | 
|     @JSONField(serializeUsing= ObjectWriterImplToString.class) | 
|     @TableId(value = "id", type = IdType.INPUT) | 
|     public Long id; | 
|   | 
|     /** | 
|      * 姓名 | 
|      */ | 
|     @NotEmpty(message = "姓名不能为空") //不能为空也不能为null | 
|     @Length(message = "姓名不大于{max}字,不小于{min}字", min = 2, max = 50) | 
|     public String name; | 
|   | 
|     /** | 
|      * 手机号,用于登录系统 | 
|      */ | 
|     @NotEmpty(message = "手机号不能为空") //不能为空也不能为null | 
|     @Length(message = "手机号必须{max}位数据", min = 11, max = 11) | 
|     public String phone; | 
|   | 
|     /** | 
|      * 密码,MD5加密 | 
|      */ | 
|     @NotEmpty(message = "密码不能为空") //不能为空也不能为null | 
|     @Length(message = "密码必须{max}位数据", min = 6, max = 6) | 
|     @JSONField(serialize = false) | 
|     public String password; | 
|   | 
|     /** | 
|      * 是否超级管理员,1是,0否 | 
|      */ | 
|     @JSONField(serialize = false) | 
|     public Byte supperAdmin; | 
|   | 
|     /** | 
|      * 是否禁用,1是,0否 | 
|      */ | 
|     public Boolean disabled; | 
|   | 
|     /** | 
|      * 删除标志,1是,0否 | 
|      */ | 
|     public Boolean deleted; | 
|   | 
|     /** | 
|      * 创建时间 | 
|      */ | 
|     @TableField(value = "create_dt", fill = FieldFill.INSERT) | 
|     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
|     public Date createDt; | 
|   | 
|     ////////////////////////////////////// | 
|     // 以下不是数据库实体属性 | 
|     ////////////////////////////////////// | 
|     /** | 
|      * 用户所关联的角色集合 | 
|      */ | 
|     @TableField(exist = false) | 
|     public List<BaRole> roles ; | 
|   | 
|     /** | 
|      * 前端web界面提交的用户所属角色的id,其是一个字符串数组 | 
|      */ | 
|     @TableField(exist = false) | 
|     public String[] roleIds ; | 
|   | 
|     /** | 
|      * 用户所拥有的权限,针对单点登录应用 | 
|      */ | 
|     @TableField(exist = false) | 
|     @JSONField(serialize = false) | 
|     public List<Integer> privileges; | 
| } |