소스 검색

修复 获取用户拥有按钮权限集合 返回多个 null
sqlsugar建议将join放在where前

夜鹰 8 달 전
부모
커밋
b3f59df5a0
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 2
      Admin.NET/Admin.NET.Core/Service/Menu/SysMenuService.cs

+ 3 - 2
Admin.NET/Admin.NET.Core/Service/Menu/SysMenuService.cs

@@ -223,9 +223,10 @@ public class SysMenuService : IDynamicApiController, ITransient
 
         var menuIdList = _userManager.SuperAdmin || _userManager.SysAdmin ? new() : await GetMenuIdList();
 
-        permissions = await _sysMenuRep.AsQueryable().Where(u => u.Type == MenuTypeEnum.Btn)
-            .WhereIF(menuIdList.Count > 0, u => menuIdList.Contains(u.Id))
+        permissions = await _sysMenuRep.AsQueryable()
             .InnerJoinIF<SysTenantMenu>(!_userManager.SuperAdmin, (u, t) => t.TenantId == _userManager.TenantId && u.Id == t.MenuId)
+            .Where(u => u.Type == MenuTypeEnum.Btn)
+            .WhereIF(menuIdList.Count > 0, u => menuIdList.Contains(u.Id))
             .Select(u => u.Permission).ToListAsync();
 
         _sysCacheService.Set(CacheConst.KeyUserButton + userId, permissions, TimeSpan.FromDays(7));