package com.dsh.upms.entity; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import cn.mb.cloud.common.data.entity.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.dsh.utils.login.Tree; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** *

* 权限菜单 *

* * @author zhao * @since 2022-05-16 */ @ApiModel("权限菜单") @Data @TableName("sys_menu") public class SysMenu extends BaseEntity { private static final long serialVersionUID = 1L; /** * 菜单名称 */ @ApiModelProperty("菜单名称") private String name; /** * 菜单权限标识 */ @ApiModelProperty("菜单权限标识") private String permission; /** * 前端URL */ @ApiModelProperty("前端URL") private String path; /** * 父菜单ID */ @ApiModelProperty("父菜单ID") @TableField("parent_id") private Long parentId; /** * 图标 */ @ApiModelProperty("图标") private String icon; /** * VUE页面 */ @ApiModelProperty("VUE页面") private String component; /** * 排序值 */ @ApiModelProperty("排序值") private Integer sort; /** * 0-开启,1- 关闭 */ @ApiModelProperty("0-开启,1- 关闭") @TableField("keep_alive") private String keepAlive; /** * 菜单类型 (0菜单 1按钮) */ @ApiModelProperty("菜单类型 (0菜单 1按钮)") private String type; /** * 是否启用 */ @ApiModelProperty("是否启用") private Boolean enable; /** * 租户ID */ @ApiModelProperty("租户ID") @TableField("tenant_id") private Integer tenantId; /** * 创建人 */ @ApiModelProperty("创建人") @TableField("create_user") private String createUser; /** * 更新人 */ @ApiModelProperty("更新人") @TableField("update_user") private String updateUser; /** * 重定向地址 */ @ApiModelProperty("重定向地址") private String redirect; /** * 是否是叶子节点 */ @ApiModelProperty("是否是叶子节点") @TableField("if_leaf") private Integer ifLeaf; /** * 子级 */ @ApiModelProperty("子级") @TableField(exist = false) private List children = new ArrayList<>(); public static void initTree(List list, Tree rootTree) { for (SysMenu item : list) { String parentId = item.getParentId() == null ? "-1L" : item.getParentId().toString(); if (parentId.equals(rootTree.getKey())) { Tree tree = new Tree(item.getId().toString(), item.getName(), Tree.TREE_NODE_STATE_DEFAULT); tree.setChecked(false); tree.setPermission(item.getPermission()); tree.setPath(item.getPath()); tree.setType(item.getType()); tree.setIcon(item.getIcon()); tree.setLable(item.getName()); tree.setName(item.getName()) ; tree.setParentId(item.getParentId()); tree.setEnable(item.getEnable()); rootTree.getChildren().add(tree); initTree(list, tree); } } } }