|
|
|
|
@ -61,21 +61,21 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<MenuVO> routes(String roleId, Long topMenuId) { |
|
|
|
|
public List<MenuVO> routes(String roleIds, Long topMenuId) { |
|
|
|
|
// if (StringUtils.isBlank(roleId)) {
|
|
|
|
|
// return null;
|
|
|
|
|
// }
|
|
|
|
|
List<Menu> allMenus = baseMapper.allMenu(); |
|
|
|
|
List<Menu> roleMenus = null; |
|
|
|
|
Role role=roleService.getById(roleId); |
|
|
|
|
//Role role=roleService.getById(roleId);
|
|
|
|
|
// 超级管理员并且不是顶部菜单请求则返回全部菜单
|
|
|
|
|
if ((Func.isEmpty(roleId)||role.getCode().equals(RoleConstant.ADMINISTRATOR))&&Func.isEmpty(topMenuId)) { |
|
|
|
|
if ((Func.isEmpty(roleIds))&&Func.isEmpty(topMenuId)) { |
|
|
|
|
roleMenus = allMenus; |
|
|
|
|
} |
|
|
|
|
// 非超级管理员并且不是顶部菜单请求则返回对应角色权限菜单
|
|
|
|
|
else if (role!=null&&!role.getName().equals("超级管理员")&&Func.isEmpty(topMenuId)) { |
|
|
|
|
else if (roleIds!=null&&Func.isEmpty(topMenuId)) { |
|
|
|
|
// 角色配置对应菜单
|
|
|
|
|
List<Menu> roleIdMenus = baseMapper.roleMenuByRoleId(Func.toLongList(roleId)); |
|
|
|
|
List<Menu> roleIdMenus = baseMapper.roleMenuByRoleId(Func.toLongList(roleIds)); |
|
|
|
|
// 反向递归角色菜单所有父级
|
|
|
|
|
List<Menu> routes = new LinkedList<>(roleIdMenus); |
|
|
|
|
roleIdMenus.forEach(roleMenu -> recursion(allMenus, routes, roleMenu)); |
|
|
|
|
@ -84,7 +84,7 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM |
|
|
|
|
// 顶部菜单请求返回对应角色权限菜单
|
|
|
|
|
else { |
|
|
|
|
// 角色配置对应菜单
|
|
|
|
|
List<Menu> roleIdMenus = baseMapper.roleMenuByRoleId(Func.toLongList(roleId)); |
|
|
|
|
List<Menu> roleIdMenus = baseMapper.roleMenuByRoleId(Func.toLongList(roleIds)); |
|
|
|
|
// 反向递归角色菜单所有父级
|
|
|
|
|
List<Menu> routes = new LinkedList<>(roleIdMenus); |
|
|
|
|
roleIdMenus.forEach(roleMenu -> recursion(allMenus, routes, roleMenu)); |
|
|
|
|
|