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