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 loadTree(List menuList, List menuButtonList, Map map) { List tree = new ArrayList();// TreeNode集合,存放所有树对象。 List result = new ArrayList();// TreeNode集合,存放所有树对象。 Map 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; } }