serviceImpl:
List<Power> menuTree = this.buildMenuTree(rootMenu,“0”);//去找该角色下的菜单下的子菜单,没有就是空
工具类:
/**
* 递归查找子菜单
*
* 数据表结构(0代表根节点)
* Id FatherId
* 1 0
* 2 1
* 3 2
* 4 1
* menuList 层级树表所有数据
* pid 为父级id 也就是当前的 FatherId
* Id 为树的id
*
*
* @return
*/
private List<Power> buildMenuTree(List<Power> menuList, String pid) {
List<Power> treeList = new ArrayList<>();
menuList.forEach(menu -> {
if (Objects.equals(pid, menu.getFatherId())) {
menu.setSon(buildMenuTree(menuList,menu.getId()));
treeList.add(menu);
}
});
return treeList;
}