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