From 5a5a0ed1fa93a83537eb36e69fac5a14994dc103 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期二, 05 八月 2025 17:00:30 +0800
Subject: [PATCH] pref:搜索

---
 FlexJobApi.User.Application/FlexJobApi.User.Application.xml                        |   38 ++++++++++--
 FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs             |   24 ++++++++
 FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs |   13 +++
 FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs                  |    4 +
 FlexJobApi.Core/FlexJobApi.Core.xml                                                |   90 ++++++++++++++++++++++++++---
 FlexJobApi.Core/Models/User/Roles/Queries/GetRolesQuery.cs                         |    5 +
 FlexJobApi.Core/Models/User/UserInfos/Queries/GetOperationUserInfosQuery.cs        |    4 +
 7 files changed, 160 insertions(+), 18 deletions(-)

diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml
index eb35731..d4e24d9 100644
--- a/FlexJobApi.Core/FlexJobApi.Core.xml
+++ b/FlexJobApi.Core/FlexJobApi.Core.xml
@@ -2964,17 +2964,17 @@
             璧勬簮
             </summary>
         </member>
-        <member name="T:FlexJobApi.Core.SetRoleUserCommand">
+        <member name="T:FlexJobApi.Core.SetRoleUserInfosCommand">
             <summary>
             璁剧疆瑙掕壊鐢ㄦ埛
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.SetRoleUserCommand.RoleId">
+        <member name="P:FlexJobApi.Core.SetRoleUserInfosCommand.RoleId">
             <summary>
             瑙掕壊Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.SetRoleUserCommand.UserInfoIds">
+        <member name="P:FlexJobApi.Core.SetRoleUserInfosCommand.UserInfoIds">
             <summary>
             鐢ㄦ埛Id
             </summary>
@@ -3114,34 +3114,64 @@
             澶囨敞
             </summary>
         </member>
-        <member name="T:FlexJobApi.Core.GetRoleUsersQuery">
+        <member name="T:FlexJobApi.Core.GetRoleUserInfosQuery">
             <summary>
             鏌ヨ瑙掕壊鐢ㄦ埛鍒楄〃
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.GetRoleUsersQuery.RoleId">
+        <member name="P:FlexJobApi.Core.GetRoleUserInfosQuery.RoleId">
             <summary>
             瑙掕壊Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.GetRoleUsersQueryResultItem.Id">
+        <member name="P:FlexJobApi.Core.GetRoleUserInfosQueryResultItem.Id">
             <summary>
-            Id
+            鐢ㄦ埛Id
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.GetRoleUsersQueryResultItem.Name">
+        <member name="P:FlexJobApi.Core.GetRoleUserInfosQueryResultItem.Name">
             <summary>
             濮撳悕
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.GetRoleUsersQueryResultItem.UserName">
+        <member name="P:FlexJobApi.Core.GetRoleUserInfosQueryResultItem.UserName">
             <summary>
             鐢ㄦ埛鍚�
             </summary>
         </member>
-        <member name="P:FlexJobApi.Core.GetRoleUsersQueryResultItem.IsChecked">
+        <member name="P:FlexJobApi.Core.GetRoleUserInfosQueryResultItem.IsChecked">
             <summary>
             鏄惁閫変腑
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.SetUserInfoRolesCommand">
+            <summary>
+            璁剧疆鐢ㄦ埛淇℃伅瑙掕壊
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SetUserInfoRolesCommand.UserInfoId">
+            <summary>
+            鐢ㄦ埛Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SetUserInfoRolesCommand.RoleIds">
+            <summary>
+            瑙掕壊Id
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.SetUserInfoStatusCommand">
+            <summary>
+            璁剧疆鐢ㄦ埛淇℃伅鐘舵��
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SetUserInfoStatusCommand.Ids">
+            <summary>
+            Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.SetUserInfoStatusCommand.Status">
+            <summary>
+            鐘舵��
             </summary>
         </member>
         <member name="T:FlexJobApi.Core.GetOperationUserInfosQuery">
@@ -3209,6 +3239,46 @@
             鍚嶇О
             </summary>
         </member>
+        <member name="T:FlexJobApi.Core.GetUserInfoRolesQuery">
+            <summary>
+            鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserInfoRolesQuery.UserInfoId">
+            <summary>
+            鐢ㄦ埛Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserInfoRolesQuery.ClientType">
+            <summary>
+            瀹㈡埛绔被鍨�
+            </summary>
+        </member>
+        <member name="T:FlexJobApi.Core.GetUserInfoRolesQueryResultItem">
+            <summary>
+            鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserInfoRolesQueryResultItem.Id">
+            <summary>
+            瑙掕壊Id
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserInfoRolesQueryResultItem.Name">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserInfoRolesQueryResultItem.Remark">
+            <summary>
+            澶囨敞
+            </summary>
+        </member>
+        <member name="P:FlexJobApi.Core.GetUserInfoRolesQueryResultItem.IsChecked">
+            <summary>
+            鏄惁閫変腑
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.AliyunOptions">
             <summary>
             闃块噷浜戦厤缃�
diff --git a/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs b/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs
new file mode 100644
index 0000000..27cb3fe
--- /dev/null
+++ b/FlexJobApi.Core/Models/User/Enterprises/Queries/GetEnterprisesQuery.cs
@@ -0,0 +1,24 @@
+锘縰sing MediatR;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.Core
+{
+    /// <summary>
+    /// 鏌ヨ浼佷笟淇℃伅鍒嗛〉鍒楄〃鏁版嵁
+    /// </summary>
+    public class GetEnterprisesQuery : PagedListQuery<PagedListQueryResult<GetEnterprisesQueryResultItem>, GetEnterprisesQueryResultItem>, IRequest<PagedListQueryResult<GetEnterprisesQueryResultItem>>
+    {
+    }
+
+    /// <summary>
+    /// 鏌ヨ浼佷笟淇℃伅鍒嗛〉鍒楄〃鏁版嵁
+    /// </summary>
+    public class GetEnterprisesQueryResultItem
+    {
+
+    }
+}
diff --git a/FlexJobApi.Core/Models/User/Roles/Queries/GetRolesQuery.cs b/FlexJobApi.Core/Models/User/Roles/Queries/GetRolesQuery.cs
index 4ade891..3ae3f9d 100644
--- a/FlexJobApi.Core/Models/User/Roles/Queries/GetRolesQuery.cs
+++ b/FlexJobApi.Core/Models/User/Roles/Queries/GetRolesQuery.cs
@@ -23,6 +23,11 @@
         /// 瀹㈡埛绔被鍨�
         /// </summary>
         public EnumClientType? ClientType { get; set; }
+
+        /// <summary>
+        /// 鍏抽敭瀛�
+        /// </summary>
+        public string Keywords { get; set; }
     }
 
     /// <summary>
diff --git a/FlexJobApi.Core/Models/User/UserInfos/Queries/GetOperationUserInfosQuery.cs b/FlexJobApi.Core/Models/User/UserInfos/Queries/GetOperationUserInfosQuery.cs
index bc00d81..e5952ce 100644
--- a/FlexJobApi.Core/Models/User/UserInfos/Queries/GetOperationUserInfosQuery.cs
+++ b/FlexJobApi.Core/Models/User/UserInfos/Queries/GetOperationUserInfosQuery.cs
@@ -15,6 +15,10 @@
     [Resource([EnumResourceController.UserInfo])]
     public class GetOperationUserInfosQuery : PagedListQuery<PagedListQueryResult<GetOperationUserInfosQueryResultItem>, GetOperationUserInfosQueryResultItem>, IRequest<PagedListQueryResult<GetOperationUserInfosQueryResultItem>>
     {
+        /// <summary>
+        /// 鍏抽敭瀛�
+        /// </summary>
+        public string Keywords { get; set; }
     }
 
     /// <summary>
diff --git a/FlexJobApi.User.Application/FlexJobApi.User.Application.xml b/FlexJobApi.User.Application/FlexJobApi.User.Application.xml
index 80160c1..50f4733 100644
--- a/FlexJobApi.User.Application/FlexJobApi.User.Application.xml
+++ b/FlexJobApi.User.Application/FlexJobApi.User.Application.xml
@@ -266,17 +266,17 @@
         <member name="M:FlexJobApi.User.Application.SaveRoleCommandHandler.Handle(FlexJobApi.Core.SaveRoleCommand,System.Threading.CancellationToken)">
             <inheritdoc/>
         </member>
-        <member name="T:FlexJobApi.User.Application.SetRoleUserCommandHandler">
+        <member name="T:FlexJobApi.User.Application.SetRoleUserInfosCommandHandler">
             <summary>
             璁剧疆瑙掕壊鐢ㄦ埛
             </summary>
         </member>
-        <member name="M:FlexJobApi.User.Application.SetRoleUserCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
+        <member name="M:FlexJobApi.User.Application.SetRoleUserInfosCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
             <summary>
             璁剧疆瑙掕壊鐢ㄦ埛
             </summary>
         </member>
-        <member name="M:FlexJobApi.User.Application.SetRoleUserCommandHandler.Handle(FlexJobApi.Core.SetRoleUserCommand,System.Threading.CancellationToken)">
+        <member name="M:FlexJobApi.User.Application.SetRoleUserInfosCommandHandler.Handle(FlexJobApi.Core.SetRoleUserInfosCommand,System.Threading.CancellationToken)">
             <inheritdoc/>
         </member>
         <member name="T:FlexJobApi.User.Application.GetRoleQueryHandler">
@@ -307,17 +307,30 @@
         <member name="M:FlexJobApi.User.Application.GetRolesQueryHandler.Handle(FlexJobApi.Core.GetRolesQuery,System.Threading.CancellationToken)">
             <inheritdoc/>
         </member>
-        <member name="T:FlexJobApi.User.Application.GetRoleUsersQueryHandler">
+        <member name="T:FlexJobApi.User.Application.GetRoleUserInfosQueryHandler">
             <summary>
             鏌ヨ瑙掕壊鐢ㄦ埛鍒楄〃
             </summary>
         </member>
-        <member name="M:FlexJobApi.User.Application.GetRoleUsersQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
+        <member name="M:FlexJobApi.User.Application.GetRoleUserInfosQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
             <summary>
             鏌ヨ瑙掕壊鐢ㄦ埛鍒楄〃
             </summary>
         </member>
-        <member name="M:FlexJobApi.User.Application.GetRoleUsersQueryHandler.Handle(FlexJobApi.Core.GetRoleUsersQuery,System.Threading.CancellationToken)">
+        <member name="M:FlexJobApi.User.Application.GetRoleUserInfosQueryHandler.Handle(FlexJobApi.Core.GetRoleUserInfosQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
+        <member name="T:FlexJobApi.User.Application.UserInfos.Commands.SetUserInfoStatusCommandHandler">
+            <summary>
+            璁剧疆鐢ㄦ埛淇℃伅鐘舵��
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.User.Application.UserInfos.Commands.SetUserInfoStatusCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo})">
+            <summary>
+            璁剧疆鐢ㄦ埛淇℃伅鐘舵��
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.User.Application.UserInfos.Commands.SetUserInfoStatusCommandHandler.Handle(FlexJobApi.Core.SetUserInfoStatusCommand,System.Threading.CancellationToken)">
             <inheritdoc/>
         </member>
         <member name="T:FlexJobApi.User.Application.GetOperationUserInfosQueryHandler">
@@ -333,5 +346,18 @@
         <member name="M:FlexJobApi.User.Application.GetOperationUserInfosQueryHandler.Handle(FlexJobApi.Core.GetOperationUserInfosQuery,System.Threading.CancellationToken)">
             <inheritdoc/>
         </member>
+        <member name="T:FlexJobApi.User.Application.GetUserInfoRolesQueryHandler">
+            <summary>
+            鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.User.Application.GetUserInfoRolesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfo},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.UserInfoRole})">
+            <summary>
+            鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.User.Application.GetUserInfoRolesQueryHandler.Handle(FlexJobApi.Core.GetUserInfoRolesQuery,System.Threading.CancellationToken)">
+            <inheritdoc/>
+        </member>
     </members>
 </doc>
diff --git a/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs b/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs
index 92ba664..895ddf3 100644
--- a/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs
+++ b/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs
@@ -35,6 +35,10 @@
             {
                 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);
diff --git a/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs b/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs
index 6aa9360..333ab4c 100644
--- a/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs
+++ b/FlexJobApi.User.Application/UserInfos/Queries/GetOperationUserInfosQueryHandler.cs
@@ -24,9 +24,18 @@
         /// <inheritdoc/>
         public async Task<PagedListQueryResult<GetOperationUserInfosQueryResultItem>> Handle(GetOperationUserInfosQuery request, CancellationToken cancellationToken)
         {
-            var result = await repUser.AsQueryable().AsNoTracking()
+            var q = repUser.AsQueryable().AsNoTracking()
                 .OrderByDescending(it => it.Level).ThenByDescending(it => it.CreatedTime)
-                .Where(it => it.Type == EnumUserType.Operation)
+                .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));
+            }
+            var result = await q
                 .Select(it => new GetOperationUserInfosQueryResultItem
                 {
                     Id = it.Id,

--
Gitblit v1.9.1