diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/login/service/UserIndexInfoService.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/login/service/UserIndexInfoService.java index 6fb2cfe66..8c32fc7af 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/login/service/UserIndexInfoService.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/login/service/UserIndexInfoService.java @@ -11,6 +11,7 @@ import cn.stylefeng.roses.kernel.sys.api.pojo.user.SimpleUserDTO; import cn.stylefeng.roses.kernel.sys.api.pojo.user.UserOrgDTO; import cn.stylefeng.roses.kernel.sys.modular.login.pojo.IndexUserOrgInfo; import cn.stylefeng.roses.kernel.sys.modular.login.pojo.UserIndexInfo; +import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenu; import cn.stylefeng.roses.kernel.sys.modular.menu.service.SysMenuOptionsService; import cn.stylefeng.roses.kernel.sys.modular.menu.service.SysMenuService; import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleMenuOptionsService; @@ -21,6 +22,8 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * 获取用户首页信息的业务 @@ -189,7 +192,8 @@ public class UserIndexInfoService { HashSet permissionCodeList = new HashSet<>(); // 获取菜单对应的菜单编码集合 - List menuCodeList = sysMenuService.getMenuCodeList(menuIdList); + List menuInfoList = sysMenuService.getMenuCodeList(menuIdList); + Set menuCodeList = menuInfoList.stream().map(SysMenu::getMenuCode).collect(Collectors.toSet()); permissionCodeList.addAll(menuCodeList); // 获取功能对应的功能编码集合 diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/service/SysMenuService.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/service/SysMenuService.java index a4ba603bc..ceb34d3a7 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/service/SysMenuService.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/service/SysMenuService.java @@ -105,11 +105,13 @@ public interface SysMenuService extends IService { List getTotalMenuList(); /** - * 获取菜单对应的菜单编码 + * 获取菜单对应的菜单编码,以及菜单id、菜单名称、菜单图标、菜单是否隐藏、菜单激活地址、菜单路由、组件路径、排序信息 + *

+ * 用在用户登录后,获取用户首页信息接口 * * @author fengshuonan * @since 2023/6/19 12:53 */ - List getMenuCodeList(List menuIdList); + List getMenuCodeList(List menuIdList); } \ No newline at end of file diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/service/impl/SysMenuServiceImpl.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/service/impl/SysMenuServiceImpl.java index b0f743553..02672c8b8 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/service/impl/SysMenuServiceImpl.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/service/impl/SysMenuServiceImpl.java @@ -178,22 +178,22 @@ public class SysMenuServiceImpl extends ServiceImpl impl } @Override - public List getMenuCodeList(List menuIdList) { + public List getMenuCodeList(List menuIdList) { if (ObjectUtil.isEmpty(menuIdList)) { return new ArrayList<>(); } LambdaQueryWrapper sysMenuLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sysMenuLambdaQueryWrapper.in(SysMenu::getMenuId, menuIdList); - sysMenuLambdaQueryWrapper.select(SysMenu::getMenuCode); - List list = this.list(sysMenuLambdaQueryWrapper); - if (ObjectUtil.isEmpty(list)) { - return new ArrayList<>(); - } + // 查询指定的菜单内容 + sysMenuLambdaQueryWrapper.select(SysMenu::getMenuId, SysMenu::getMenuCode, SysMenu::getMenuName, SysMenu::getAntdvIcon, + SysMenu::getAntdvVisible, SysMenu::getAntdvActiveUrl, SysMenu::getAntdvRouter, SysMenu::getAntdvComponent, + SysMenu::getMenuSort); - return list.stream().map(SysMenu::getMenuCode).collect(Collectors.toList()); + return this.list(sysMenuLambdaQueryWrapper); } @Override