From fcf1d88ff0baad37bda626b8bf2b67034e373e22 Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Fri, 21 Mar 2025 17:48:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=9B=A0=E4=B8=BA?= =?UTF-8?q?=E7=B2=BE=E5=BA=A6=E5=AF=BC=E8=87=B4=E7=9A=84=E9=A2=84=E8=AD=A6?= =?UTF-8?q?=E8=A7=84=E5=88=99=E6=97=B6=E6=95=88=E4=BF=AE=E6=94=B9=E4=B8=8D?= =?UTF-8?q?=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Warning/Handlers/ReturnWarningHandler.cs | 2 +- .../Handlers/TransportWarningHandler.cs | 19 +++++++++++-------- .../Return/ReturnWarningDetailsIndex.cs | 2 +- .../Transport/TransportWarningDetailsIndex.cs | 4 ++-- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/SJZY.Track.Application/Services/Warning/Handlers/ReturnWarningHandler.cs b/src/SJZY.Track.Application/Services/Warning/Handlers/ReturnWarningHandler.cs index 449ad78c..f5f0bcdc 100644 --- a/src/SJZY.Track.Application/Services/Warning/Handlers/ReturnWarningHandler.cs +++ b/src/SJZY.Track.Application/Services/Warning/Handlers/ReturnWarningHandler.cs @@ -595,7 +595,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe private static bool CanNeedFollow(ReturnWarningRuleItemBO oldRule, ReturnWarningRuleItemBO postRule) { // 时效发生更改 - if (Math.Abs(oldRule.ReturnTimeSpan - postRule.ReturnTimeSpan) > 0.1f) + if (Math.Abs(oldRule.ReturnTimeSpan - postRule.ReturnTimeSpan) > 0.01f) return true; // 关注的轨迹状态减少 diff --git a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs index e384f2c1..c3eb28f9 100644 --- a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs +++ b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs @@ -883,14 +883,16 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen .Where(x => x.Type == HandleType.Detail) .Select(x => x.Detail) .ToList(); - await _warningDetailsEsRepository.BulkUpdateTransportWarningDetailsAsync(updateWarningDetails); + if (reHitRuleBlocks.Count > 0) + await _warningDetailsEsRepository.BulkUpdateTransportWarningDetailsAsync(updateWarningDetails); // 3.2 更新预警生成任务(重新命中规则) var updateGenerateTasks = reHitRuleBlocks .Where(x => x.Type == HandleType.GenerateTask) .Select(x => x.GenerateTask) .ToList(); - await _warningTaskRepository.BulkUpdateTransportWarningDetailsGenerateTaskAsync(updateGenerateTasks); + if (updateGenerateTasks.Count > 0) + await _warningTaskRepository.BulkUpdateTransportWarningDetailsGenerateTaskAsync(updateGenerateTasks); // 3.3 处理需要关闭的【预警明细】【预警生成任务】【预警通知任务】(未命中规则) var typeIdsDict = handleBlocks @@ -910,10 +912,11 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen // 4.处理删除规则的相关联的【预警明细】【预警生成任务】【预警通知任务】 // 预警信息状态修改为已关闭(即将超时/已超时) var closeDetailIds = typeIdsDict.GetValueOrDefault(HandleType.Detail, new HashSet()); - await _warningDetailsEsRepository.BulkCloseTransportWarningDetailsAsync(new BulkCloseTransportWarningDetailsVO - { - DetailsIds = closeDetailIds, - }); + if (closeDetailIds.Count > 0) + await _warningDetailsEsRepository.BulkCloseTransportWarningDetailsAsync(new BulkCloseTransportWarningDetailsVO + { + DetailsIds = closeDetailIds, + }); // 关闭相关的预警生成任务(未关闭的) var closeGenerateTaskIds = typeIdsDict.GetValueOrDefault(HandleType.GenerateTask, new HashSet()); @@ -968,10 +971,10 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen if (oldRule.EndTrackStatusId != postRule.EndTrackStatusId) return true; - if (Math.Abs(oldRule.TransportTimeSpan - postRule.TransportTimeSpan) > 0.1f) + if (Math.Abs(oldRule.TransportTimeSpan - postRule.TransportTimeSpan) > 0.01f) return true; - if (Math.Abs(oldRule.StartTrackWarningTimeSpan - postRule.StartTrackWarningTimeSpan) > 0.1f) + if (Math.Abs(oldRule.StartTrackWarningTimeSpan - postRule.StartTrackWarningTimeSpan) > 0.01f) return true; return false; diff --git a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Return/ReturnWarningDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Return/ReturnWarningDetailsIndex.cs index 5a7f7be8..5acf8617 100644 --- a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Return/ReturnWarningDetailsIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Return/ReturnWarningDetailsIndex.cs @@ -102,6 +102,6 @@ public class ReturnWarningDetailsIndex : IdBaseIndex public bool MatchTrackTime(DateTime trackTime, float trackTimeZone) { - return TrackTime == trackTime && Math.Abs(TrackTimeZone - trackTimeZone) < 0.1f; + return TrackTime == trackTime && Math.Abs(TrackTimeZone - trackTimeZone) < 0.01f; } } diff --git a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs index 8e4e49af..c128cffa 100644 --- a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs @@ -140,7 +140,7 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex public DateTime GetUtc0StartTrackTime() { - return Math.Abs(StartTrackTimeZone - GlobalConst.NoneTrackTimeZone) < 0.1f + return Math.Abs(StartTrackTimeZone - GlobalConst.NoneTrackTimeZone) < 0.01f ? StartTrackTime : StartTrackTime.Subtract(TimeSpan.FromHours(StartTrackTimeZone)); } @@ -148,7 +148,7 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex public DateTime? GetUtc0EndTrackTime() { if (EndTrackTime == null || EndTrackTimeZone == null) return null; - return Math.Abs(EndTrackTimeZone.Value - GlobalConst.NoneTrackTimeZone) < 0.1f + return Math.Abs(EndTrackTimeZone.Value - GlobalConst.NoneTrackTimeZone) < 0.01f ? EndTrackTime : EndTrackTime.Value.Subtract(TimeSpan.FromHours(EndTrackTimeZone.Value)); }