From c76f8a99088a68c032785e968e4ac84fcb3bfb45 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com>
Date: Fri, 22 Mar 2024 09:27:42 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=BD=A8=E8=BF=B9upsert?=
=?UTF-8?q?=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../EventHandlers/TrackUpsertEventHandler.cs | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs
index 6c8fd767..2da1fd9b 100644
--- a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs
+++ b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs
@@ -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
///
private async Task 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;