From 71d0c92a63f1e26c6ba9634413083de1acaf916c Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期三, 06 八月 2025 11:18:29 +0800 Subject: [PATCH] feat:数据字典类别开发 --- FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs | 31 +++++++++++++++++++------------ 1 files changed, 19 insertions(+), 12 deletions(-) diff --git a/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs b/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs index 92ba664..84cbf3b 100644 --- a/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs +++ b/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,18 +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); - } - var result = await q - .ProjectToType<GetRolesQueryResultItem>() - .ToPagedListAsync(request.PageModel, cancellationToken); + var result = await request.PageModel.ToPagedListAsync<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()) { -- Gitblit v1.9.1