当前位置:网站首页>建立树形结构
建立树形结构
2022-08-03 04:35:00 【Dzooooone_】
//建立树形结构
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;
}
边栏推荐
猜你喜欢
随机推荐
Record some bugs encountered - when mapstruct and lombok are used at the same time, the problem of data loss when converting entity classes
OpenFOAM extracts equivalency and calculates area
Test drive: project management module - curd development project
[Developers must see] [push kit] Collection of typical problems of push service service 2
path development介绍
修饰生物素DIAZO-生物素-PEG3-DBCO|重氮-生物素-三聚乙二醇-二苯基环辛炔
rosbag工具plotjuggler无法打开rosbag的问题
私域流量引流方法?分享购火爆的商业模式,你值得拥有
js中的闭包
Shell条件语句判断
寄存器(内存访问)
JS bottom handwriting
计组错题集
RequestContextHolder
Interface test framework combat (1) | Requests and interface request construction
closures in js
直播|StarRocks 技术内幕 :低基数全局字典优化
传统企业如何转型社交电商,泰山众筹的玩法有哪些?
打破传统电商格局,新型社交电商到底有什么优点?
How to use the interface management tool YApi?Beautiful, easy to manage, super easy to use