| | |
| | | if (Func.isEmpty(Func.toStr(param.get(PARENT_ID)))) { |
| | | parentId = null; |
| | | } |
| | | // 如果不是超级管理员 |
| | | if (!AuthUtil.isAdministrator()){ |
| | | param.put("super",1); |
| | | } |
| | | return baseMapper.lazyList(parentId, param); |
| | | } |
| | | |
| | |
| | | |
| | | @Override |
| | | public List<TreeNode> grantTree(BladeUser user) { |
| | | List<TreeNode> menuTree = user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? baseMapper.grantTree() : baseMapper.grantTreeByRole(Func.toLongList(user.getRoleId())); |
| | | Map<String, Object> param = new HashMap<>(1); |
| | | // 如果不是超级管理员 |
| | | if(!AuthUtil.isAdministrator()){ |
| | | return ForestNodeMerger.merge(tenantPackageTree(baseMapper.grantTreeNew(), user.getTenantId())); |
| | | } |
| | | List<TreeNode> menuTree = user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? baseMapper.grantTree(param) : baseMapper.grantTreeByRole(Func.toLongList(user.getRoleId())); |
| | | return ForestNodeMerger.merge(tenantPackageTree(menuTree, user.getTenantId())); |
| | | } |
| | | |
| | |
| | | List<MenuVO> routes = routes(roleId, null); |
| | | |
| | | List<MenuVO> list = routes.stream().filter(r -> Func.equals(r.getAlias(), "web")).collect(Collectors.toList()); |
| | | MenuVO menuVO = list.get(0); |
| | | int level = 0; |
| | | WebMenuVO webMenuVO = buildWebMenuVO(menuVO,level); |
| | | return webMenuVO.getChildren(); |
| | | if (list.size()>0){ |
| | | MenuVO menuVO = list.get(0); |
| | | // int level = 0; |
| | | WebMenuVO webMenuVO = buildWebMenuVO(menuVO); |
| | | return webMenuVO.getChildren(); |
| | | }else { |
| | | return null; |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<MenuVO> getButtonList(String roleId) { |
| | | return baseMapper.getButtonList(Func.toLongList(roleId)); |
| | | } |
| | | |
| | | |
| | | public WebMenuVO buildWebMenuVO(MenuVO menuVO,int level){ |
| | | public WebMenuVO buildWebMenuVO(MenuVO menuVO){ |
| | | WebMenuVO webMenuVO = new WebMenuVO(); |
| | | Meta meta = new Meta(); |
| | | webMenuVO.setMeta(meta); |
| | | webMenuVO.getMeta().setLevel(level); |
| | | level++; |
| | | final int levelTemp = level; |
| | | webMenuVO.getMeta().setLevel(menuVO.getLevel()); |
| | | // level++; |
| | | // final int levelTemp = level; |
| | | //设置基础信息 |
| | | webMenuVO.setPath(menuVO.getPath()); |
| | | webMenuVO.setComponent(menuVO.getComponents()); |
| | | webMenuVO.getMeta().setIcon(menuVO.getIconPath()); |
| | | webMenuVO.getMeta().setTitle(menuVO.getName()); |
| | | webMenuVO.setComponentPath(menuVO.getComponentPath()); |
| | | |
| | | if (Func.equals(menuVO.getHasSubMenu(),"1")){ |
| | | webMenuVO.getMeta().setHasSubMenu(true); |
| | | }else { |
| | | webMenuVO.getMeta().setHasSubMenu(false); |
| | | } |
| | | if (menuVO.getChildren().size()>0){ |
| | | //有子菜单 |
| | | webMenuVO.getMeta().setHasSubMenu(true); |
| | | List<WebMenuVO> list = new ArrayList<>(); |
| | | menuVO.getChildren().forEach(menu->{ |
| | | WebMenuVO webMenuVO1 = buildWebMenuVO(menu,levelTemp); |
| | | WebMenuVO webMenuVO1 = buildWebMenuVO(menu); |
| | | list.add(webMenuVO1); |
| | | }); |
| | | webMenuVO.setChildren(list); |
| | | }else { |
| | | //无子菜单 |
| | | webMenuVO.getMeta().setHasSubMenu(false); |
| | | } |
| | | |
| | | return webMenuVO; |