sunpengfei
2025-08-07 0b49fee10340ea40a6762da657239675d3db22f6
FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenuQueryHandler.cs
@@ -35,9 +35,11 @@
                .FirstOrDefaultAsync(cancellationToken);
            if (model == null) throw Oops.Oh(EnumErrorCodeType.s404, "该菜单");
            var items = await (from m in repMenu.AsQueryable().AsNoTracking()
                               join rm in repRoleMenu.AsQueryable().AsNoTracking() on m.Id equals rm.MenuId
                               join ur in repUserInfoRole.AsQueryable().AsNoTracking() on rm.RoleId equals ur.RoleId
                               where m.ParentId == request.Id && ur.UserInfoId == logier.UserInfoId && !m.IsDisabled
                               join rm in repRoleMenu.AsQueryable().AsNoTracking() on m.Id equals rm.MenuId into rmg
                               from rmgi in rmg.DefaultIfEmpty()
                               join ur in repUserInfoRole.AsQueryable().AsNoTracking() on rmgi.RoleId equals ur.RoleId into urg
                               from urgi in urg.DefaultIfEmpty()
                               where m.ParentId == request.Id && (logier.Level == 999 || urgi.UserInfoId == logier.UserInfoId) && !m.IsDisabled
                               && (m.Type == EnumMenuType.Button || m.Type == EnumMenuType.Field)
                               select m).ProjectToType<GetMenuQueryResultItem>().ToListAsync(cancellationToken);
            model.Groups = items.GroupBy(it => it.Group ?? "default")