多租户产品包和角色权限配置时,菜单不显示bug反馈

Blade 未结 2 523
gtfhao
gtfhao 2023-10-13 10:09

一、该问题的重现步骤是什么?

1. 超管登录,新增租户,新建租户产品包⇒设置菜单(工作台通知公告)

2. 给租户admin角色配置菜单(工作台→通知公告查看)

3.退出登录,用租户admin登录,菜单显示无,并没有显示配置的菜单(工作台→通知公告查看

二、你期待的结果是什么?实际看到的又是什么?

期待结果:租户admin登录,正常显示菜单:工作台→通知公告查看

实际结果:租户admin登录,工作台菜单显示无

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex-boot 3.2.0、企业版、 Windows11

四、请提供详细的错误堆栈信息,这很重要。

调查原因:参数menu有一条角色菜单(配置的通知公告的查看按钮),但是租户产品包里没有按钮配置,只有菜单,固(menu.stream().filter(x -> menuIds.contains(x.getId())).collect(Collectors.toList());)的时候,menu没有包含的,返回空,所以菜单也显示不出来了。

/**
* 租户菜单权限自定义筛选
*/
private List<Menu> tenantPackageMenu(List<Menu> menu) {
   TenantPackage tenantPackage = SysCache.getTenantPackage(AuthUtil.getTenantId());
   if (Func.isNotEmpty(tenantPackage) && tenantPackage.getId() > 0L) {
      List<Long> menuIds = Func.toLongList(tenantPackage.getMenuId());
      menu = menu.stream().filter(x -> menuIds.contains(x.getId())).collect(Collectors.toList());
   }
   return menu;
}

五、若有更多详细信息,请在下面提供。

2条回答
提交回复