package com.example.springboot.entity; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.List; @EqualsAndHashCode(callSuper = true) @Data @TableName("`user`") @ApiModel("用户") public class User extends BaseEntity implements Serializable { private static final long serialVersionUID = 1192800251115892576L; private Long parentId; // 上级id @TableField("`path`") @ApiModelProperty("路径") private String path; @ApiModelProperty("等级") private Integer level; @ApiModelProperty("角色id") private Long roleId; @NotBlank(message = "用户名不能为空") @ApiModelProperty("用户名") private String username; @NotBlank(message = "密码不能为空") @ApiModelProperty("密码") private String password; @ApiModelProperty("邮箱") private String email; @ApiModelProperty("qq") private String qq; @ApiModelProperty("电气密码") private String dianqimima; @ApiModelProperty("联系电话") private String phone; @ApiModelProperty("状态 0/禁止 1/正常") private Integer state; // 状态 0/禁止 1/正常 // 用户的菜单列表,不同用户通过权限控制拥有不同的菜单 @TableField(exist = false) private List menuLists; public final void parent(@NotNull User user) { this.parentId = user.getId(); this.path = (user.getPath() == null ? "" : user.getPath()) + user.getId() + "-"; this.level = StrUtil.count(this.path, "-"); } }