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