Administrator
2024-05-27 f5a7f6c30bc5fb13eb538b5856a663b1ba0667b6
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoBa/BaUser.java
@@ -2,11 +2,17 @@
import com.alibaba.fastjson2.annotation.JSONField;
import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dy.common.mybatis.envm.Deleted;
import com.dy.common.mybatis.envm.Disabled;
import com.dy.common.po.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.*;
import org.hibernate.validator.constraints.Length;
import java.util.List;
@@ -31,6 +37,7 @@
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "用户实体")
public class BaUser implements BaseEntity {
    public static final long serialVersionUID = 202310100926001L;
@@ -44,50 +51,92 @@
    ASSIGN_UUID(4), //全局唯一的 uuid
    */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    public Long id;
    @TableId(value = "id", type = IdType.INPUT)
    @Schema(description = "实体id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Long userId;
    @Schema(description = "所属片区ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableField(value = "blockId")
    public Long blockId ;
    /**
     * 用户姓名
     */
    public String name;
    @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "姓名不能为空") //不能为空也不能为null
    @Length(message = "姓名不大于{max}字,不小于{min}字", min = 2, max = 25)
    public String userName;
    /**
     * 手机号,手机号用于登录系统
     */
    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Length(message = "手机号必须{max}位数据", min = 11, max = 11)
    public String phone;
    /**
     * 密码,密码的MD5加密
     */
    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED)
    @Length(message = "密码必须{max}位数据", min = 6, max = 6)
    public String password;
    /**
     * 供水机构标签
     */
    @TableField(value = "orgTag")
    @JSONField(serialize = false)
    public String orgTag;
    /**
     * 是否超级管理员 1:是,0:否
     */
    @Schema(hidden = true)
    @TableField(value = "supperAdmin")
    @JSONField(serialize = false)
    public Byte supperAdmin;
    /**
     * 是否禁用 0:否,1:是
     */
    @Schema(description = "是否禁用", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Disabled disabled;
    /**
     * 是否删除: 0表示未删除  1表示删除.
     */
    @Schema(description = "删除标识,表单不用填写", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    public Deleted deleted;
    /**
     * 用户所拥有的权限
     * 用户所属角色Id
     */
    @Schema(description = "所归角色(所属角色ID字符串数组)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @TableField(exist = false)
    public String[] roleIds ;
    /**
     * 用户所属角色
     */
    @Schema(description = "所归角色列表,用于显示,表单不用填写", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @TableField(exist = false)
    public List<?> roleList ;
    /**
     * 用户所拥有的权限,针对登录应用
     */
    @Schema(hidden = true)
    @TableField(exist = false)
    @JSONField(serialize = false)
    public List<Integer> privileges;
    //public transient List<Integer> privileges;//此种方式变量不存库, 也不参与序列化了
    /**
     * 所属片区名称
     */
    @Schema(description = "所属片区名称,用于显示,表单不用填写", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @TableField(exist = false)
    public String blockName ;
}