public MenuTree(AuthMenu authMenu) { this.id = authMenu.getMenuId() + ""; this.pid = authMenu.getPid() + ""; this.label = authMenu.getMenuName(); this.url = authMenu.getUrl(); this.path = authMenu.getPath(); }
@Override @ApiOperation(httpMethod = GET, value = "通过角色获取菜单权限") @ApiImplicitParam(name = "roleCode", value = "用户roleCode", required = true, dataType = "string", paramType = "path") public Set<AuthPermission> findMenuByRole(@PathVariable("roleCode") String roleCode) { Set<AuthPermission> permissions = new HashSet<AuthPermission>(); if (StringHelper.isBlank(roleCode)) return permissions; Set<AuthMenu> menus = menuService.findMenuByRole(roleCode); if (null == menus || menus.size() == 0) return permissions; menus.stream().forEach(r -> { permissions.add(new AuthPermission(r.getUrl())); }); return permissions; }
/** * 返回当前用户树形菜单集合 * * @return 树形菜单 */ @GetMapping("/userTree") public R<List<Integer>> userTree(HttpServletRequest request) { String roleCode = JwtUtil.getRole(request, jwtConfiguration.getJwtkey()).get(0); Set<AuthMenu> menus = menuService.findMenuByRole(roleCode); List<Integer> menuList = new ArrayList<>(); if (null == menus || menus.size() == 0) return new R<List<Integer>>().data(menuList); menus.stream().forEach(menu -> { menuList.add(menu.getMenuId()); }); return new R<List<Integer>>().data(menuList); }
@Override public List<MenuTree> findAllMenuTreeList() { List<Menu> rList = this.findMenuList(); List<MenuTree> menuTreeList = new ArrayList<MenuTree>(); rList.forEach(menu -> { AuthMenu authMenu = new AuthMenu(); BeanUtils.copyProperties(menu, authMenu); menuTreeList.add(new MenuTree(authMenu)); }); return TreeUtil.build(menuTreeList, "0"); }
@Override public Set<AuthMenu> findMenuByRole(String roleCode) { if (StringHelper.isBlank(roleCode)) return null; Role role = roleService.findRoleByCode(roleCode.trim()); if (null == role) return null; List<Menu> rList = this.findMenuByRoleId(role.getRoleId()); if (null == rList || rList.size() == 0) return null; Set<AuthMenu> mList = new HashSet<AuthMenu>(); for (Menu m : rList) { AuthMenu authMenu = new AuthMenu(); BeanUtils.copyProperties(m, authMenu); mList.add(authMenu); } return mList; }