sunpengfei
2025-08-06 744ce126fd5dc3a0448719832d1e9667e44d30b5
FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs
@@ -15,6 +15,7 @@
    /// 查询角色分页列表
    /// </summary>
    /// <param name="repRole"></param>
    /// <param name="repUserInfoRole"></param>
    public class GetRolesQueryHandler(
            IRepository<Role> repRole,
            IRepository<UserInfoRole> repUserInfoRole
@@ -26,22 +27,24 @@
        /// <inheritdoc/>
        public async Task<PagedListQueryResult<GetRolesQueryResultItem>> Handle(GetRolesQuery request, CancellationToken cancellationToken)
        {
            var q = repRole.AsQueryable().AsNoTracking();
            if (request.UserType.HasValue)
            {
                q = q.Where(it => it.UserType == request.UserType);
            }
            if (request.ClientType.HasValue)
            {
                q = q.Where(it => it.ClientType == request.ClientType);
            }
            if (request.Keywords.IsNotNull())
            {
                q = q.Where(it => it.Name.Contains(request.Keywords) || it.Remark.Contains(request.Keywords));
            }
            var result = await q
                .ProjectToType<GetRolesQueryResultItem>()
                .ToPagedListAsync(request.PageModel, cancellationToken);
            var result = await request.PageModel.GetPagedListAsync<Role, GetRolesQueryResultItem>(
                q =>
                {
                    q = q.OrderBy(it => it.Sort).ThenBy(it => it.CreatedTime);
                    if (request.UserType.HasValue)
                    {
                        q = q.Where(it => it.UserType == request.UserType);
                    }
                    if (request.ClientType.HasValue)
                    {
                        q = q.Where(it => it.ClientType == request.ClientType);
                    }
                    if (request.Keywords.IsNotNull())
                    {
                        q = q.Where(it => it.Name.Contains(request.Keywords) || it.Remark.Contains(request.Keywords));
                    }
                    return q;
                }, cancellationToken: cancellationToken);
            if (result.Data.Any())
            {