Sfoglia il codice sorgente

😎1、代码优化 2、升级nuget包

zuohuaijun 1 anno fa
parent
commit
a6c866057a

+ 2 - 2
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -33,11 +33,11 @@
     <PackageReference Include="RabbitMQ.Client" Version="6.8.1" />
     <PackageReference Include="SixLabors.ImageSharp.Web" Version="3.1.2" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.3.0" />
-    <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.5.0" />
+    <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.6.0" />
     <PackageReference Include="SqlSugarCore" Version="5.1.4.160" />
     <PackageReference Include="SSH.NET" Version="2024.1.0" />
     <PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.3" />
-    <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1038" />
+    <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1040" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
   </ItemGroup>

+ 2 - 9
Admin.NET/Admin.NET.Core/EventBus/EventHandlerMonitor.cs

@@ -7,15 +7,8 @@
 // 软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、适用性和非侵权的保证。
 // 在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。
 
-using Furion.EventBus;
-using Microsoft.Extensions.Logging;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
 namespace Admin.NET.Core;
+
 public class EventHandlerMonitor : IEventHandlerMonitor
 {
     public Task OnExecutingAsync(EventHandlerExecutingContext context)
@@ -35,4 +28,4 @@ public class EventHandlerMonitor : IEventHandlerMonitor
 
         return Task.CompletedTask;
     }
-}
+}

+ 37 - 43
Admin.NET/Admin.NET.Core/EventBus/RetryEventHandlerExecutor.cs

@@ -1,50 +1,44 @@
-// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
-//
-// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
-//
-// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
-
-using Furion.EventBus;
-using Furion.Logging.Extensions;
-
-namespace Admin.NET.Core;
-
-/// <summary>
-/// 事件执行器-超时控制、失败重试熔断等等
-/// </summary>
-public class RetryEventHandlerExecutor : IEventHandlerExecutor
-{
-    //private class Retry
-
-    public async Task ExecuteAsync(EventHandlerExecutingContext context, Func<EventHandlerExecutingContext, Task> handler)
-    {
-        var eventSubscribeAttribute = context.Attribute;
-        // 判断是否自定义了重试失败回调服务
-        var fallbackPolicyService = eventSubscribeAttribute?.FallbackPolicy == null
-            ? null
+// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
+//
+// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
+//
+// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 事件执行器-超时控制、失败重试熔断等等
+/// </summary>
+public class RetryEventHandlerExecutor : IEventHandlerExecutor
+{
+    public async Task ExecuteAsync(EventHandlerExecutingContext context, Func<EventHandlerExecutingContext, Task> handler)
+    {
+        var eventSubscribeAttribute = context.Attribute;
+        // 判断是否自定义了重试失败回调服务
+        var fallbackPolicyService = eventSubscribeAttribute?.FallbackPolicy == null
+            ? null
             : App.GetService(eventSubscribeAttribute.FallbackPolicy) as IEventFallbackPolicy;
 
-        await Retry.InvokeAsync(async () =>
-        {
-            try
-            {
-                await handler(context);
-            }
-            catch (Exception ex)
-            {
-                Log.Error($"Invoke EventHandler {context.Source.EventId} Error", ex);
-                throw;
-            }
-        }
-        , eventSubscribeAttribute?.NumRetries ?? 0
-        , eventSubscribeAttribute?.RetryTimeout ?? 1000
-        , exceptionTypes: eventSubscribeAttribute?.ExceptionTypes
-        , fallbackPolicy: fallbackPolicyService == null ? null : async (Exception ex) => { await fallbackPolicyService.CallbackAsync(context, ex); }
+        await Retry.InvokeAsync(async () =>
+        {
+            try
+            {
+                await handler(context);
+            }
+            catch (Exception ex)
+            {
+                Log.Error($"Invoke EventHandler {context.Source.EventId} Error", ex);
+                throw;
+            }
+        }
+        , eventSubscribeAttribute?.NumRetries ?? 0
+        , eventSubscribeAttribute?.RetryTimeout ?? 1000
+        , exceptionTypes: eventSubscribeAttribute?.ExceptionTypes
+        , fallbackPolicy: fallbackPolicyService == null ? null : async (Exception ex) => { await fallbackPolicyService.CallbackAsync(context, ex); }
         , retryAction: (total, times) =>
         {
             // 输出重试日志
             Log.Warning($"Retrying {times}/{total} times for  EventHandler {context.Source.EventId}");
-        }
-        );
-    }
+        });
+    }
 }

+ 2 - 3
Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs

@@ -169,9 +169,8 @@ public class SysUserService : IDynamicApiController, ITransient
             throw Oops.Oh(ErrorCodeEnum.D1014);
         if (user.Id == _userManager.UserId)
             throw Oops.Oh(ErrorCodeEnum.D1001);
-        // 若账号为租户默认账号禁止删除
-        var isTenantUser = await _sysUserRep.ChangeRepository<SqlSugarRepository<SysTenant>>()
-            .IsAnyAsync(u => u.UserId == input.Id);
+        // 若账号为租户默认账号则禁止删除
+        var isTenantUser = await _sysUserRep.ChangeRepository<SqlSugarRepository<SysTenant>>().IsAnyAsync(u => u.UserId == input.Id);
         if (isTenantUser)
             throw Oops.Oh(ErrorCodeEnum.D1029);
 

+ 5 - 8
Admin.NET/Admin.NET.Web.Core/Startup.cs

@@ -8,9 +8,7 @@ using Admin.NET.Core;
 using Admin.NET.Core.Service;
 using AspNetCoreRateLimit;
 using Furion;
-using Furion.EventBus;
 using Furion.Logging;
-using Furion.Logging.Extensions;
 using Furion.SpecificationDocument;
 using Furion.VirtualFileServer;
 using IGeekFan.AspNetCore.Knife4jUI;
@@ -125,18 +123,17 @@ public class Startup : AppStartup
             // 不启用事件日志
             options.LogEnabled = false;
 
-            // 事件执行器(失败重试处理方式
+            // 事件执行器(失败重试)
             options.AddExecutor<RetryEventHandlerExecutor>();
 
-            // 事件执行器,重试后依然处理未处理异常的处理器
-            options.UnobservedTaskExceptionHandler = (obj, args) => {
+            // 事件执行器(重试后依然处理未处理异常的处理器)
+            options.UnobservedTaskExceptionHandler = (obj, args) =>
+            {
                 if (args.Exception?.Message != null)
-                {
                     Log.Error($"EeventBus 有未处理异常 :{args.Exception?.Message} ", args.Exception);
-                }
             };
 
-            //事件执行器-监视器,每一次处理都会进入
+            // 事件执行器-监视器(每一次处理都会进入)
             options.AddMonitor<EventHandlerMonitor>();
 
             #region Redis消息队列

+ 1 - 1
Admin.NET/Plugins/Admin.NET.Plugin.ReZero/Admin.NET.Plugin.ReZero.csproj

@@ -24,7 +24,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Rezero.Api" Version="1.7.7" />
+    <PackageReference Include="Rezero.Api" Version="1.7.8" />
   </ItemGroup>
 
   <ItemGroup>