//建立树形结构
public List<BasicMenuInfoVo> buildTree() {
List<BasicMenuInfoVo> treeMenus = new ArrayList<>();
for (BasicMenuInfoVo menuNode : getRootNode()) {
menuNode = buildChildTree(menuNode);
treeMenus.add(menuNode);
}
return treeMenus;
}
//获取根节点
private List<BasicMenuInfoVo> getRootNode() {
List<BasicMenuInfoVo> rootMenuLists = new ArrayList<>();
for (BasicMenuInfoVo menuNode : menuList) {
if (menuNode.getParentId().longValue() == 0) {
menuNode.setAccess(permissionMap.get(menuNode.getPermissionId()));
if (flag == 0) rootMenuLists.add(menuNode);
if (flag == 1 && menuNode.getState() == 1) rootMenuLists.add(menuNode);
}
}
return rootMenuLists;
}
//递归,建立子树形结构
private BasicMenuInfoVo buildChildTree(BasicMenuInfoVo pNode) {
List<BasicMenuInfoVo> childMenus = new ArrayList<>();
for (BasicMenuInfoVo menuNode : menuList) {
if (menuNode.getParentId().longValue() == pNode.getId().longValue()) {
menuNode.setAccess(permissionMap.get(menuNode.getPermissionId()));
if (flag == 0) childMenus.add(buildChildTree(menuNode));
if (flag == 1 && menuNode.getState() == 1) childMenus.add(buildChildTree(menuNode));
}
}
pNode.setRoutes(childMenus);
return pNode;
}
版权声明:本文为Dzooooone_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。