sunpengfei
2025-08-08 32288af3e5f12bc48d8360114c872fde5d9ff4a8
FlexJobApi.UserServer.Application/Auths/Queries/GetCurrentLogierMenusQueryHandler.cs
File was renamed from FlexJobApi.User.Application/Auths/Queries/GetCurrentLogierMenusQueryHandler.cs
@@ -11,7 +11,7 @@
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.User.Application
namespace FlexJobApi.UserServer.Application
{
    /// <summary>
    /// 获取当前登录用户菜单
@@ -19,13 +19,13 @@
    public class GetCurrentLogierMenusQueryHandler(
            IRepository<Menu> repMenu,
            IRepository<RoleMenu> repRoleMenu,
            IRepository<UserInfoRole> repUserInfoRole
            IRepository<UserRole> repUserInfoRole
        )
        : IRequestHandler<GetCurrentLogierMenusQuery, List<GetMenusQueryResultItem>>
    {
        private readonly IRepository<Menu> repMenu = repMenu;
        private readonly IRepository<RoleMenu> repRoleMenu = repRoleMenu;
        private readonly IRepository<UserInfoRole> repUserInfoRole = repUserInfoRole;
        private readonly IRepository<UserRole> repUserInfoRole = repUserInfoRole;
        /// <inheritdoc/>
        public async Task<List<GetMenusQueryResultItem>> Handle(GetCurrentLogierMenusQuery request, CancellationToken cancellationToken)
@@ -38,7 +38,7 @@
            if (logier.Level != 999)
            {
                var menuIds = await repRoleMenu.AsQueryable().AsNoTracking()
                    .Where(it => it.Role.UserInfoRoles.Any(ur => ur.UserInfoId == logier.UserInfoId))
                    .Where(it => it.Role.UserRoles.Any(ur => ur.UserId == logier.Id))
                    .Select(it => it.MenuId)
                    .ToListAsync(cancellationToken);
                q = q.Where(it => menuIds.Contains(it.Id));