diff --git a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs index c3eb28f9..cc167d95 100644 --- a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs +++ b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs @@ -1197,7 +1197,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen .OrderBy(x => x.TrackTime) .First(); - return new TransportWarningDetailsIndex + var detail = new TransportWarningDetailsIndex { WarningId = ruleItem.WarningId, WarningSceneId = ruleItem.TransportWarningSceneId, @@ -1234,6 +1234,10 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen //审计属性 CreateTime = DateTime.Now, }; + + // 一开始创建预警就可能为已超时的状态 + detail.Status = detail.CalcStatus(); + return detail; } private List BuildWarningNotifyTask(List details) diff --git a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs index c128cffa..5d2a0429 100644 --- a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs @@ -88,7 +88,7 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex //时效 var transportTimeSpan = TimeSpan.FromHours(TransportTimeSpan); //小时 //累计运输时间 - var cumulativeTimeSpan = TimeSpan.FromMilliseconds(CumulativeTimeSpan); //毫秒 + var cumulativeTimeSpan = DateTime.Now.Subtract(StartTrackTime); //毫秒 //预警时效(预警发出的时间对比于最早轨迹状态时间的跨度) var startTrackWarningTimeSpan = TimeSpan.FromHours(StartTrackWarningTimeSpan); //小时