Merge branch 'S02-轨迹中台第二部分' into dev

This commit is contained in:
李鹏军 2024-03-22 09:27:59 +08:00
commit 2bf987d5d8

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