Merge branch 'S02-轨迹中台第二部分' into dev
This commit is contained in:
commit
2bf987d5d8
@ -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;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user