| | |
| | | |
| | | 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; |
| | | |
| | | |
| | | /** |
| | | * 用户实体 |
| | | * |
| | | * TableName(value = “a”, autoResultMap = true) |
| | | * autoResultMap参数为true时,表明个别字段在查询处理的时候自动转换为对象, |
| | | * 只适合设置了TypeHandler、jdbcTyped的情况。autoResultMap 自动映射, |
| | | * 通常配合 @TableField() 一起使用,确定映射规范性。 |
| | | * 2023-10-24经实验: |
| | | * 简单的@TableField("name")不用加上,即使存类属性是驼峰,数据库字段是下 |
| | | * 简单的@TableField("name")不用加上,即使类属性名是驼峰,数据库字段是下 |
| | | * 划线情况,也不用加@TableField("name")。 |
| | | */ |
| | | //2023-10-24下面TableName不用配置表名称(value="BaUser"或“ba_user”) |
| | | @TableName(autoResultMap = true) |
| | | //只要通过驼峰命名法则类名与表名对应起来就可以了,如果不能对应起来,需要指定表名称 |
| | | //例如@TableName(value="TestUser" autoResultMap = true) |
| | | @TableName(value="ba_user", autoResultMap = true) |
| | | @Data |
| | | @Builder |
| | | @ToString |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | @Schema(name = "用户实体") |
| | | public class BaUser implements BaseEntity { |
| | | |
| | | public static final long serialVersionUID = 202310100926001L; |
| | | |
| | | /* |
| | | /* 如果不明确 type类型,MP将自动为其赋值(雪花ID) |
| | | IdType: |
| | | AUTO(0), //自增 |
| | | NONE(1), //未设置主键 |
| | |
| | | ASSIGN_UUID(4), //全局唯一的 uuid |
| | | */ |
| | | @JSONField(serializeUsing= ObjectWriterImplToString.class) |
| | | @TableId(type = IdType.INPUT) |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | @Schema(description = "实体id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | //public Long userId; |
| | | public Long id; |
| | | |
| | | |
| | | @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 |
| | | */ |
| | | @TableField(exist=false) |
| | | public List<Integer> privileges; |
| | | @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(description = "所属片区名称,用于显示,表单不用填写", requiredMode = Schema.RequiredMode.NOT_REQUIRED) |
| | | @TableField(exist = false) |
| | | public String blockName ; |
| | | } |