From f34457a706a4a684eebd1c95b6fa8a5c90a41a4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E8=AF=9A?= Date: Sat, 10 Jan 2026 18:04:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=B7=B1=E5=BA=A6?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=86=E7=B1=BB=E9=80=BB=E8=BE=91=EF=BC=9B?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=91=A8=E6=9C=9F=E8=B4=A6=E5=8D=95=E8=A7=86?= =?UTF-8?q?=E5=9B=BE=E4=BB=A5=E6=98=BE=E7=A4=BA=E4=B8=8B=E6=AC=A1=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Common/ServiceExtension.cs | 12 ++++++++++++ Service/EmailServices/EmailHandleService.cs | 9 ++++++++- Service/GlobalUsings.cs | 3 ++- Web/src/views/PeriodicRecord.vue | 8 ++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/Common/ServiceExtension.cs b/Common/ServiceExtension.cs index 4e7a410..2169b30 100644 --- a/Common/ServiceExtension.cs +++ b/Common/ServiceExtension.cs @@ -3,6 +3,18 @@ using Microsoft.Extensions.DependencyInjection; namespace Common; +public static class TypeExtensions +{ + /// + /// 深度复制对象属性到目标对象 + /// + public static T? DeepClone(this T source) + { + var json = System.Text.Json.JsonSerializer.Serialize(source); + return System.Text.Json.JsonSerializer.Deserialize(json); + } +} + /// /// 服务依赖注入扩展 /// diff --git a/Service/EmailServices/EmailHandleService.cs b/Service/EmailServices/EmailHandleService.cs index b4e86c9..6fcaf5e 100644 --- a/Service/EmailServices/EmailHandleService.cs +++ b/Service/EmailServices/EmailHandleService.cs @@ -175,7 +175,14 @@ public class EmailHandleService( private async Task AutoClassifyAsync(TransactionRecord[] records) { - await AnalyzeClassifyAsync(records.ToArray()); + var clone = records.ToArray().DeepClone(); + + if(clone?.Any() != true) + { + return; + } + + await AnalyzeClassifyAsync(clone); foreach (var record in records) { diff --git a/Service/GlobalUsings.cs b/Service/GlobalUsings.cs index 05d55e6..2f64bb0 100644 --- a/Service/GlobalUsings.cs +++ b/Service/GlobalUsings.cs @@ -12,4 +12,5 @@ global using System.Linq; global using Service.AppSettingModel; global using System.Text.Json.Serialization; global using System.Text.Json.Nodes; -global using Microsoft.Extensions.Configuration; \ No newline at end of file +global using Microsoft.Extensions.Configuration; +global using Common; \ No newline at end of file diff --git a/Web/src/views/PeriodicRecord.vue b/Web/src/views/PeriodicRecord.vue index 83d6c19..0f45e62 100644 --- a/Web/src/views/PeriodicRecord.vue +++ b/Web/src/views/PeriodicRecord.vue @@ -36,6 +36,7 @@ +