refactor(system): 优化租户菜单获取逻辑,支持子租户套餐
This commit is contained in:
@@ -70,6 +70,7 @@ public class MenuController {
|
|||||||
@Operation(summary = "获取菜单精简信息列表",
|
@Operation(summary = "获取菜单精简信息列表",
|
||||||
description = "只包含被开启的菜单,用于【角色分配菜单】功能的选项。在多租户的场景下,会只返回租户所在套餐有的菜单")
|
description = "只包含被开启的菜单,用于【角色分配菜单】功能的选项。在多租户的场景下,会只返回租户所在套餐有的菜单")
|
||||||
public CommonResult<List<MenuSimpleRespVO>> getSimpleMenuList() {
|
public CommonResult<List<MenuSimpleRespVO>> getSimpleMenuList() {
|
||||||
|
|
||||||
List<MenuDO> list = menuService.getMenuListByTenant(
|
List<MenuDO> list = menuService.getMenuListByTenant(
|
||||||
new MenuListReqVO().setStatus(CommonStatusEnum.ENABLE.getStatus()));
|
new MenuListReqVO().setStatus(CommonStatusEnum.ENABLE.getStatus()));
|
||||||
list = menuService.filterDisableMenus(list);
|
list = menuService.filterDisableMenus(list);
|
||||||
|
|||||||
@@ -699,6 +699,11 @@ public class TenantServiceImpl implements TenantService {
|
|||||||
if (isSystemTenant(tenant)) { // 系统租户,菜单是全量的
|
if (isSystemTenant(tenant)) { // 系统租户,菜单是全量的
|
||||||
menuIds = CollectionUtils.convertSet(menuService.getMenuList(), MenuDO::getId);
|
menuIds = CollectionUtils.convertSet(menuService.getMenuList(), MenuDO::getId);
|
||||||
} else {
|
} else {
|
||||||
|
if (tenant.getParentId() != 1){
|
||||||
|
menuIds = tenantAgencyPackageService.getTenantAgencyPackage(tenant.getPackageId()).getMenuIds();
|
||||||
|
handler.handle(menuIds);
|
||||||
|
return;
|
||||||
|
}
|
||||||
menuIds = tenantPackageService.getTenantPackage(tenant.getPackageId()).getMenuIds();
|
menuIds = tenantPackageService.getTenantPackage(tenant.getPackageId()).getMenuIds();
|
||||||
}
|
}
|
||||||
// 执行处理器
|
// 执行处理器
|
||||||
|
|||||||
Reference in New Issue
Block a user