package com.lxzn.ucenter.service.support;
|
|
import com.lxzn.framework.domain.ucenter.Menu;
|
import com.lxzn.framework.domain.ucenter.MenuButton;
|
import com.lxzn.framework.domain.ucenter.MenuButtonPermission;
|
import com.lxzn.framework.model.response.CommonJsonTree;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
public class MenuButtonTreeWrapper {
|
public static List<CommonJsonTree> loadTree(List<Menu> menuList, List<MenuButton> menuButtonList, Map<String, MenuButtonPermission> map) {
|
List<CommonJsonTree> tree = new ArrayList<CommonJsonTree>();// TreeNode集合,存放所有树对象。
|
List<CommonJsonTree> result = new ArrayList<CommonJsonTree>();// TreeNode集合,存放所有树对象。
|
Map<String, CommonJsonTree> menuTreeMap = new HashMap<>();
|
menuList.forEach(item -> {
|
CommonJsonTree node = new CommonJsonTree();
|
node.setId(item.getMenuId());
|
node.setLabel(item.getMenuName());
|
node.setDisabled(false);
|
menuTreeMap.put(item.getMenuId(), node);
|
tree.add(node);
|
});
|
menuButtonList.forEach(item -> {
|
CommonJsonTree node = new CommonJsonTree();
|
node.setId(item.getMenuButtonId());
|
node.setLabel(item.getButtonAlias());
|
node.setRField(item.getButtonId());
|
node.setParentId(item.getMenuId());
|
if(map != null && !map.isEmpty() &&map.containsKey(item.getMenuId() + "_" + item.getButtonId())) {
|
node.setChecked(true);
|
}
|
if(menuTreeMap.containsKey(item.getMenuId())) {
|
CommonJsonTree parent = menuTreeMap.get(item.getMenuId());
|
parent.addChildren(node);
|
}
|
});
|
for(CommonJsonTree commonJsonTree : tree) {
|
if(commonJsonTree.hasChildren()) {
|
result.add(commonJsonTree);
|
}
|
}
|
return result;
|
}
|
}
|