package com.lxzn.ucenter.service.support;
|
|
import com.lxzn.framework.domain.ucenter.MenuPermission;
|
import com.lxzn.framework.domain.ucenter.ext.MenuExt;
|
import com.lxzn.framework.model.response.CommonJsonTree;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
public class MenuPermissonTreeWrapper {
|
public static List<CommonJsonTree> loadTree(List<MenuExt> componentInfoList, Map<String, MenuPermission> map) {
|
List<CommonJsonTree> tree = new ArrayList<CommonJsonTree>();// TreeNode集合,存放所有树对象。
|
CommonJsonTree node;
|
for(MenuExt ext : componentInfoList) {
|
node = new CommonJsonTree();
|
node.setId(ext.getMenuId());
|
node.setLabel(ext.getMenuName());
|
node.setParentId(null);
|
//设置菜单节点图标 Start
|
String iconStr = "";
|
/*判断是否设置了菜单导航图标样式*/
|
if (!ext.hasChild()) {//导航页面的菜单节点
|
iconStr = "";//默认图标
|
}
|
node.setIconClass(iconStr);
|
if(map.containsKey(ext.getMenuId())) {
|
node.setChecked(true);
|
}
|
node = loadChildrenNodes(ext, node, map);
|
tree.add(node);
|
}
|
return tree;
|
}
|
|
private static CommonJsonTree loadChildrenNodes(MenuExt info, CommonJsonTree node, Map<String, MenuPermission> map) {
|
if(info.hasChild()) {
|
List<MenuExt> children = info.getChildList();
|
CommonJsonTree childNode;
|
for (MenuExt ext : children) {
|
childNode = new CommonJsonTree();
|
childNode.setId(ext.getMenuId());
|
childNode.setLabel(ext.getMenuName());
|
childNode.setParentId(ext.getParentId());
|
//设置菜单节点图标 Start
|
String iconStr = "";
|
/*判断是否设置了菜单导航图标样式*/
|
if (!ext.hasChild()) {//导航页面的菜单节点
|
iconStr = "";//默认图标
|
}
|
childNode.setIconClass(iconStr);
|
if(map.containsKey(ext.getMenuId())) {
|
childNode.setChecked(true);
|
}
|
childNode = loadChildrenNodes(ext, childNode, map);
|
node.addChildren(childNode);
|
}
|
}
|
return node;
|
}
|
}
|