From 7d64d742e52809237473e13e18faec2c23dfe3c7 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 07 八月 2025 17:13:53 +0800
Subject: [PATCH] feat:企业开发

---
 FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs b/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs
index 6aa9360..a776dae 100644
--- a/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs
+++ b/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs
@@ -24,18 +24,29 @@
         /// <inheritdoc/>
         public async Task<PagedListQueryResult<GetOperationUserInfosQueryResultItem>> Handle(GetOperationUserInfosQuery request, CancellationToken cancellationToken)
         {
-            var result = await repUser.AsQueryable().AsNoTracking()
-                .OrderByDescending(it => it.Level).ThenByDescending(it => it.CreatedTime)
-                .Where(it => it.Type == EnumUserType.Operation)
-                .Select(it => new GetOperationUserInfosQueryResultItem
+            var result = await request.PageModel.GetPagedListAsync<UserInfo, GetOperationUserInfosQueryResultItem>(
+                q =>
+                {
+                    q = q.OrderByDescending(it => it.Level).ThenByDescending(it => it.CreatedTime)
+                        .Where(it => it.Type == EnumUserType.Operation);
+                    if (request.Keywords.IsNotNull())
+                    {
+                        q = q.Where(it =>
+                            it.UserAuth.Name.Contains(request.Keywords)
+                            || it.UserAuth.UserName.Contains(request.Keywords)
+                            || it.UserAuth.PhoneNumber.Contains(request.Keywords)
+                            || it.Remark.Contains(request.Keywords));
+                    }
+                    return q;
+                },
+                it => new GetOperationUserInfosQueryResultItem
                 {
                     Id = it.Id,
                     Name = it.UserAuth.Name,
                     UserName = it.UserAuth.UserName,
                     PhoneNumber = it.UserAuth.PhoneNumber,
                     Remark = it.Remark
-                })
-                .ToPagedListAsync(request.PageModel, cancellationToken);
+                }, cancellationToken);
             if (result.Data.Any())
             {
                 var ids = result.Data.DistinctSelect(it => it.Id);

--
Gitblit v1.9.1