diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs index 8248c8e0..ce97f715 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs @@ -4,6 +4,11 @@ namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; public class UpsertTrackInput : OrderNoInfo { + /// + /// true新增,false更新 + /// + public bool IsAdd { get; set; } + /// /// 轨迹内容代码 /// diff --git a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs index 0e5da045..6c8fd767 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs @@ -105,7 +105,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe /// private async Task UpsertTrackAsync(TrackDetailsIndex? track, TrackUpsertEvent @event) { - if (track == default) + if (track == default && @event.IsAdd) { //todo:可以优化 // 根据轨迹code在订单模板内容中寻找匹配的 @@ -137,8 +137,11 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe CreateUser = CurrentUserRequest.CurrentUser.Name, CreateTime = DateTime.Now }; + + track.ZeroTrackTime = track.TrackTime.Subtract(TimeSpan.FromHours(track.TrackTimeZone)); } - else + + if (track != default && !@event.IsAdd) { track.TrackPlace = @event.TrackPlace; track.TrackTime = @event.TrackTime!.Value; diff --git a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs index b596c85a..b3319d35 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs @@ -82,6 +82,11 @@ public class TrackDetailsIndex : IdBaseIndex /// public float TrackTimeZone { get; set; } + /// + /// 转化后的轨迹发生时间 + /// + public DateTime ZeroTrackTime { get; set; } + /// 是否可删 public bool IsCanDelete { get; set; }