!868 fix: 修复菜单构建方法返回空列表的情况,确保在无菜单时返回空集合

* fix: 修复菜单构建方法返回空列表的情况,确保在无菜单时返回空集合
This commit is contained in:
tangyh
2026-07-06 01:24:29 +00:00
committed by 疯狂的狮子Li
parent 4baa9edfa1
commit 348141427d
@@ -123,8 +123,11 @@ public class SysMenuServiceImpl implements ISysMenuService {
} else { } else {
menus = menuMapper.selectMenuTreeByUserId(userId); menus = menuMapper.selectMenuTreeByUserId(userId);
} }
if (CollUtil.isEmpty(menus)) {
return CollUtil.newArrayList();
}
return TreeBuildUtils.build(menus, Constants.TOP_PARENT_ID, SysMenu::getParentId, (menu, nodeTreeMaps) -> { List<SysMenu> menuTree = TreeBuildUtils.build(menus, Constants.TOP_PARENT_ID, SysMenu::getParentId, (menu, nodeTreeMaps) -> {
// 将当前节点的菜单ID用作父节点ID // 将当前节点的菜单ID用作父节点ID
Long menuParentId = menu.getMenuId(); Long menuParentId = menu.getMenuId();
// 从动态规划表中取出子节点列表 // 从动态规划表中取出子节点列表
@@ -134,6 +137,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
// 如果存在根节点指向尾节点的情况,则会出现环形依赖。但在菜单表中基本不会出现这种情况... // 如果存在根节点指向尾节点的情况,则会出现环形依赖。但在菜单表中基本不会出现这种情况...
menu.setChildren(childMenus); menu.setChildren(childMenus);
}); });
return CollUtil.isEmpty(menuTree) ? CollUtil.newArrayList() : menuTree;
} }
/** /**
@@ -157,6 +161,9 @@ public class SysMenuServiceImpl implements ISysMenuService {
*/ */
@Override @Override
public List<RouterVo> buildMenus(List<SysMenu> menus) { public List<RouterVo> buildMenus(List<SysMenu> menus) {
if (CollUtil.isEmpty(menus)) {
return CollUtil.newArrayList();
}
List<RouterVo> routers = new LinkedList<>(); List<RouterVo> routers = new LinkedList<>();
for (SysMenu menu : menus) { for (SysMenu menu : menus) {
String name = menu.getRouteName() + menu.getMenuId(); String name = menu.getRouteName() + menu.getMenuId();