调整轨迹upsert逻辑

This commit is contained in:
李鹏军 2024-03-22 09:27:42 +08:00
parent 7f0f11d0a3
commit c76f8a9908

View File

@ -1,5 +1,4 @@
using System.Diagnostics;
using DotNetCore.CAP;
using DotNetCore.CAP;
using SJZY.Expand.ABP.Core.Logger;
using SJZY.Expand.ABP.Core.PublicMethords;
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
@ -59,10 +58,12 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
}
var track = await _trackDetailsRepository.GetFirstOrDefaultAsync(@event.OrderId, @event.TrackCode);
if (track == null && !@event.IsAdd) return;
if (track != null && @event.IsAdd) return;
// step1、upsert es轨迹
track = await UpsertTrackAsync(track, @event);
Debug.Assert(track != null, nameof(track) + " != null");
if (track == null) return; // 模板没配该轨迹代码,无法入库
// step2、触发轨迹推送事件(异步)
await HandleTrackPushAsync(@event, track);
@ -105,7 +106,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
/// <param name="event"></param>
private async Task<TrackDetailsIndex?> UpsertTrackAsync(TrackDetailsIndex? track, TrackUpsertEvent @event)
{
if (track == default && @event.IsAdd)
if (track == default)
{
//todo:可以优化
// 根据轨迹code在订单模板内容中寻找匹配的
@ -140,8 +141,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
track.ZeroTrackTime = track.TrackTime.Subtract(TimeSpan.FromHours(track.TrackTimeZone));
}
if (track != default && !@event.IsAdd)
else
{
track.TrackPlace = @event.TrackPlace;
track.TrackTime = @event.TrackTime!.Value;