From 23e80983df6bbf508642b4d7f7b2ace36a0264c5 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期一, 18 八月 2025 13:54:16 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.Web.Entry/Startup.cs                                                   |    3 +
 FlexJobApi.Core/Models/CommonServer/Resources/Queries/CheckHealthQuery.cs         |   17 ++++++++
 FlexJobApi.Core/Utils/ResourceUtils/ResourceServiceAttribute.cs                   |    2 
 FlexJobApi.Core/Enums/Common/EnumResourceMethod.cs                                |    4 ++
 FlexJobApi.CommonServer.Application/FlexJobApi.CommonServer.Application.xml       |   13 ++++++
 FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs                              |    4 +-
 FlexJobApi.Core/FlexJobApi.Core.xml                                               |   10 +++++
 FlexJobApi.CommonServer.Application/Resources/Queries/CheckHealthQueryHandler.cs  |   27 +++++++++++++
 FlexJobApi.CommonServer.Application/Resources/Queries/GetResourcesQueryHandler.cs |    3 +
 FlexJobApi.Web.Entry/appsettings.json                                             |    2 
 10 files changed, 79 insertions(+), 6 deletions(-)

diff --git a/FlexJobApi.CommonServer.Application/FlexJobApi.CommonServer.Application.xml b/FlexJobApi.CommonServer.Application/FlexJobApi.CommonServer.Application.xml
index cff76e9..7c8c5b4 100644
--- a/FlexJobApi.CommonServer.Application/FlexJobApi.CommonServer.Application.xml
+++ b/FlexJobApi.CommonServer.Application/FlexJobApi.CommonServer.Application.xml
@@ -185,6 +185,19 @@
             <param name="cancellationToken"></param>
             <returns></returns>
         </member>
+        <member name="T:FlexJobApi.CommonServer.Application.CheckHealthQueryHandler">
+            <summary>
+            鍋ュ悍鏍¢獙
+            </summary>
+        </member>
+        <member name="M:FlexJobApi.CommonServer.Application.CheckHealthQueryHandler.Handle(FlexJobApi.Core.CheckHealthQuery,System.Threading.CancellationToken)">
+            <summary>
+            鍋ュ悍鏍¢獙
+            </summary>
+            <param name="request"></param>
+            <param name="cancellationToken"></param>
+            <returns></returns>
+        </member>
         <member name="T:FlexJobApi.UserServer.Application.GetResourceFieldsQueryHandler">
             <summary>
             鑾峰彇璧勬簮瀛楁
diff --git a/FlexJobApi.CommonServer.Application/Resources/Queries/CheckHealthQueryHandler.cs b/FlexJobApi.CommonServer.Application/Resources/Queries/CheckHealthQueryHandler.cs
new file mode 100644
index 0000000..44da73b
--- /dev/null
+++ b/FlexJobApi.CommonServer.Application/Resources/Queries/CheckHealthQueryHandler.cs
@@ -0,0 +1,27 @@
+锘縰sing FlexJobApi.Core;
+using MediatR;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.CommonServer.Application
+{
+    /// <summary>
+    /// 鍋ュ悍鏍¢獙
+    /// </summary>
+    public class CheckHealthQueryHandler : IRequestHandler<CheckHealthQuery, bool>
+    {
+        /// <summary>
+        /// 鍋ュ悍鏍¢獙
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public Task<bool> Handle(CheckHealthQuery request, CancellationToken cancellationToken)
+        {
+            return Task.FromResult(true);
+        }
+    }
+}
diff --git a/FlexJobApi.CommonServer.Application/Resources/Queries/GetResourcesQueryHandler.cs b/FlexJobApi.CommonServer.Application/Resources/Queries/GetResourcesQueryHandler.cs
index 7267dae..48ad1b2 100644
--- a/FlexJobApi.CommonServer.Application/Resources/Queries/GetResourcesQueryHandler.cs
+++ b/FlexJobApi.CommonServer.Application/Resources/Queries/GetResourcesQueryHandler.cs
@@ -17,7 +17,8 @@
     /// </summary>
     public class GetResourcesQueryHandler(
             IRepository<Resource> rep
-        ) : IRequestHandler<GetResourcesQuery, List<GetResourcesQueryResultItem>>
+        ) : 
+        IRequestHandler<GetResourcesQuery, List<GetResourcesQueryResultItem>>
     {
         private readonly IRepository<Resource> rep = rep;
 
diff --git a/FlexJobApi.Core/Enums/Common/EnumResourceMethod.cs b/FlexJobApi.Core/Enums/Common/EnumResourceMethod.cs
index db975c6..6bfcc61 100644
--- a/FlexJobApi.Core/Enums/Common/EnumResourceMethod.cs
+++ b/FlexJobApi.Core/Enums/Common/EnumResourceMethod.cs
@@ -12,6 +12,10 @@
     public enum EnumResourceMethod
     {
         /// <summary>
+        /// 鏃�
+        /// </summary>
+        None = 0,
+        /// <summary>
         /// 鏌ヨ
         /// </summary>
         Get = 10,
diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml
index 918fd9c..8273ed1 100644
--- a/FlexJobApi.Core/FlexJobApi.Core.xml
+++ b/FlexJobApi.Core/FlexJobApi.Core.xml
@@ -2577,6 +2577,11 @@
             璧勬簮璇锋眰鏂瑰紡
             </summary>
         </member>
+        <member name="F:FlexJobApi.Core.EnumResourceMethod.None">
+            <summary>
+            鏃�
+            </summary>
+        </member>
         <member name="F:FlexJobApi.Core.EnumResourceMethod.Get">
             <summary>
             鏌ヨ
@@ -3878,6 +3883,11 @@
             妯″瀷
             </summary>
         </member>
+        <member name="T:FlexJobApi.Core.CheckHealthQuery">
+            <summary>
+            鍋ュ悍鏍¢獙
+            </summary>
+        </member>
         <member name="T:FlexJobApi.Core.GetResourceFieldsQuery">
             <summary>
             鑾峰彇璧勬簮瀛楁
diff --git a/FlexJobApi.Core/Models/CommonServer/Resources/Queries/CheckHealthQuery.cs b/FlexJobApi.Core/Models/CommonServer/Resources/Queries/CheckHealthQuery.cs
new file mode 100644
index 0000000..23fd998
--- /dev/null
+++ b/FlexJobApi.Core/Models/CommonServer/Resources/Queries/CheckHealthQuery.cs
@@ -0,0 +1,17 @@
+锘縰sing MediatR;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace FlexJobApi.Core
+{
+    /// <summary>
+    /// 鍋ュ悍鏍¢獙
+    /// </summary>
+    [Resource([EnumResourceController.Resource], Method = EnumResourceMethod.Get, AllowAnonymous = true)]
+    public class CheckHealthQuery : IRequest<bool>
+    {
+    }
+}
diff --git a/FlexJobApi.Core/Utils/ResourceUtils/ResourceServiceAttribute.cs b/FlexJobApi.Core/Utils/ResourceUtils/ResourceServiceAttribute.cs
index cf2e110..b560714 100644
--- a/FlexJobApi.Core/Utils/ResourceUtils/ResourceServiceAttribute.cs
+++ b/FlexJobApi.Core/Utils/ResourceUtils/ResourceServiceAttribute.cs
@@ -30,7 +30,7 @@
         /// <summary>
         /// 璇锋眰鏂瑰紡
         /// </summary>
-        public EnumResourceMethod? Method { get; set; }
+        public EnumResourceMethod Method { get; set; }
 
         /// <summary>
         /// 鏂囦欢涓婁紶
diff --git a/FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs b/FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs
index f381e16..60c94f2 100644
--- a/FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs
+++ b/FlexJobApi.Core/Utils/ResourceUtils/ResourceUtils.cs
@@ -78,8 +78,8 @@
                     model.RouteArea = resourceService.RouteArea;
                     model.Route = $"/api/{resourceService.RouteArea ?? "main"}/{controller}/{model.ActionName}";
                     model.Method =
-                        resourceAttribute.Method.HasValue
-                        ? resourceAttribute.Method.Value
+                        resourceAttribute.Method != EnumResourceMethod.None
+                        ? resourceAttribute.Method
                         : request.BaseType?.IsGenericType == true && request.BaseType.GetGenericTypeDefinition() == typeof(PagedListQuery<,>)
                         ? EnumResourceMethod.Post
                         : new List<string> { "Post", "Add", "Create", "Insert", "Submit" }.Any(it => request.Name.StartsWith(it, StringComparison.OrdinalIgnoreCase))
diff --git a/FlexJobApi.Web.Entry/Startup.cs b/FlexJobApi.Web.Entry/Startup.cs
index 4719b1e..9256900 100644
--- a/FlexJobApi.Web.Entry/Startup.cs
+++ b/FlexJobApi.Web.Entry/Startup.cs
@@ -68,6 +68,8 @@
             });
             services.AddSwaggerGenNewtonsoftSupport();
 
+            services.AddMvcFilter<ResourceActionFilter>();
+
             services.AddControllers()
                     .AddNewtonsoftJson(options =>
                     {
@@ -78,7 +80,6 @@
                     .AddDataValidation()
                     .AddInjectWithUnifyResult<FriendlyResultProvider>();
 
-            services.AddMvcFilter<ResourceActionFilter>();
         }
 
         public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime)
diff --git a/FlexJobApi.Web.Entry/appsettings.json b/FlexJobApi.Web.Entry/appsettings.json
index c1a7fc9..c233743 100644
--- a/FlexJobApi.Web.Entry/appsettings.json
+++ b/FlexJobApi.Web.Entry/appsettings.json
@@ -10,7 +10,7 @@
     "ServiceName": "Local_FlexJobServices",
     "ServiceIP": "localhost",
     "ServicePort": 53780,
-    "ServiceHealthCheck": "/healthz"
+    "ServiceHealthCheck": "/api/user/resource/checkHealth"
   },
   "DistributedCache": {
     "Access": "Redis",

--
Gitblit v1.9.1