From daa3e95fba4da1b40818c059edf86c7af3d90b26 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期一, 04 八月 2025 11:01:43 +0800
Subject: [PATCH] pref:路由优化

---
 FlexJobApi.User.Application/FlexJobApi.User.Application.xml       |   15 +++++++++++++++
 FlexJobApi.Core/settings.json                                     |    5 +++++
 FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs |   30 ++++++++++++++++++++++++++++--
 FlexJobApi.Core/FlexJobApi.Core.xml                               |    8 ++++++++
 4 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml
index 23f4024..688e833 100644
--- a/FlexJobApi.Core/FlexJobApi.Core.xml
+++ b/FlexJobApi.Core/FlexJobApi.Core.xml
@@ -3011,6 +3011,14 @@
             鎵嬫満鍙风爜
             </summary>
         </member>
+        <member name="M:FlexJobApi.Core.JwtHandler.PipelineAsync(Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext,Microsoft.AspNetCore.Http.DefaultHttpContext)">
+            <summary>
+            楠岃瘉绠¢亾锛屼篃灏辨槸楠岃瘉鏍稿績浠g爜
+            </summary>
+            <param name="context"></param>
+            <param name="httpContext"></param>
+            <returns></returns>
+        </member>
         <member name="M:FlexJobApi.Core.JwtUtils.GenerateToken(FlexJobApi.Core.CurrentLogier)">
             <summary>
             鐢熸垚鐢ㄦ埛浠ょ墝
diff --git a/FlexJobApi.Core/settings.json b/FlexJobApi.Core/settings.json
index 2809bcb..73f9173 100644
--- a/FlexJobApi.Core/settings.json
+++ b/FlexJobApi.Core/settings.json
@@ -14,6 +14,11 @@
     ],
     "EnumToNumber": true
   },
+  "DynamicApiControllerSettings": {
+    "LowercaseRoute": false,
+    "KeepName": true,
+    "AsLowerCamelCase": true
+  },
   "CorsAccessorSettings": {
     "WithExposedHeaders": [
       "access-token",
diff --git a/FlexJobApi.User.Application/FlexJobApi.User.Application.xml b/FlexJobApi.User.Application/FlexJobApi.User.Application.xml
index c67575c..0ddf471 100644
--- a/FlexJobApi.User.Application/FlexJobApi.User.Application.xml
+++ b/FlexJobApi.User.Application/FlexJobApi.User.Application.xml
@@ -236,5 +236,20 @@
             <param name="query"></param>
             <returns></returns>
         </member>
+        <member name="T:FlexJobApi.User.Application.GetRolesQueryHandler">
+            <summary>
+            鏌ヨ瑙掕壊鍒嗛〉鍒楄〃
+            </summary>
+            <param name="rep"></param>
+        </member>
+        <member name="M:FlexJobApi.User.Application.GetRolesQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Role})">
+            <summary>
+            鏌ヨ瑙掕壊鍒嗛〉鍒楄〃
+            </summary>
+            <param name="rep"></param>
+        </member>
+        <member name="M:FlexJobApi.User.Application.GetRolesQueryHandler.Handle(FlexJobApi.Core.GetRolesQuery,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 8863b66..49fd796 100644
--- a/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs
+++ b/FlexJobApi.User.Application/Roles/Queries/GetRolesQueryHandler.cs
@@ -1,4 +1,8 @@
-锘縰sing System;
+锘縰sing FlexJobApi.Core;
+using Furion.DatabaseAccessor;
+using MediatR;
+using Microsoft.EntityFrameworkCore;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -6,7 +10,29 @@
 
 namespace FlexJobApi.User.Application
 {
-    public class GetRolesQueryHandler
+    /// <summary>
+    /// 鏌ヨ瑙掕壊鍒嗛〉鍒楄〃
+    /// </summary>
+    /// <param name="rep"></param>
+    public class GetRolesQueryHandler(
+            IRepository<Role> rep
+        ) : IRequestHandler<GetRolesQuery, PagedListQueryResult<GetRolesQueryResultItem>>
     {
+        private readonly IRepository<Role> rep = rep;
+
+        /// <inheritdoc/>
+        public Task<PagedListQueryResult<GetRolesQueryResultItem>> Handle(GetRolesQuery request, CancellationToken cancellationToken)
+        {
+            var q = rep.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);
+            }
+            throw new NotImplementedException();
+        }
     }
 }

--
Gitblit v1.9.1