refactor(system): 优化租户菜单获取逻辑,支持子租户套餐

This commit is contained in:
2026-04-21 13:45:53 +08:00
parent 6713b83300
commit 612b31f582
2 changed files with 6 additions and 0 deletions

View File

@@ -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);

View File

@@ -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();
} }
// 执行处理器 // 执行处理器