From 2feb5182c0ecccce3c6571899495ed2885a285d3 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Mon, 19 Jun 2023 23:07:19 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90sys=E3=80=91?= =?UTF-8?q?=E3=80=90=E9=A6=96=E9=A1=B5=E7=94=A8=E6=88=B7=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E3=80=91=E6=9B=B4=E6=96=B0=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E8=B7=AF=E7=94=B1=E5=92=8CappId=E7=9A=84=E6=98=A0=E5=B0=84?= =?UTF-8?q?=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../login/service/UserIndexInfoService.java | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) 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 75d578de3..3d1b8b5d0 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 @@ -23,10 +23,7 @@ import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleMenuService; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -92,10 +89,12 @@ public class UserIndexInfoService { // 5. 填充用户的菜单信息 this.fillUserMenuList(loginUser, userIndexInfo, userMenuList); - // 6. 获取菜单和路由的appId映射关系 + // 6. 获取菜单和路由的appId映射关系【用来给前端作为是否切换应用的依据】 + this.fillMenuUrlAppIdMap(userIndexInfo, userMenuList); // 7. 构建websocket url + // 8. 更新用户的session信息,因为可能更新了loginUser中的值 return userIndexInfo; @@ -291,4 +290,23 @@ public class UserIndexInfoService { userIndexInfo.setMenuList(indexUserMenuInfos); } + /** + * 填充菜单和应用id的映射 + * + * @author fengshuonan + * @since 2023/6/19 23:02 + */ + private void fillMenuUrlAppIdMap(UserIndexInfo userIndexInfo, List userMenuList) { + + // 菜单路由和appId的映射关系 + HashMap menuUrlAppIdMap = new HashMap<>(); + + for (SysMenu sysMenu : userMenuList) { + String antdvRouter = sysMenu.getAntdvRouter(); + Long appId = sysMenu.getAppId(); + menuUrlAppIdMap.put(antdvRouter, appId); + } + + userIndexInfo.setMenuUrlAppIdMap(menuUrlAppIdMap); + } }