diff --git a/src/SJZY.Track.Application.Contract/Services/ITrackPushCacheService.cs b/src/SJZY.Track.Application.Contract/Services/ITrackPushCacheService.cs
index a4a57bc0..ab34ac01 100644
--- a/src/SJZY.Track.Application.Contract/Services/ITrackPushCacheService.cs
+++ b/src/SJZY.Track.Application.Contract/Services/ITrackPushCacheService.cs
@@ -19,7 +19,7 @@ public interface ITrackPushCacheService
/// 服务商id
///
///
- Task GetPushContentConfigAsync(int subSystemId, int customId, int trackContentId);
+ Task GetPushContentConfigAsync(int subSystemId, int customId, int trackContentId);
///
/// 根据轨迹代码推断下一个(升序)要推送的内容,如果找不到或者已经是最后一个了,返回null
diff --git a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs
index 208b3a85..48d1d3f9 100644
--- a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs
+++ b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs
@@ -61,7 +61,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
var track = await _trackDetailsRepository.GetFirstOrDefaultAsync(@event.OrderId, @event.TrackCode);
// step1、upsert es轨迹
- await UpsertTrackAsync(track, @event);
+ track = await UpsertTrackAsync(track, @event);
Debug.Assert(track != null, nameof(track) + " != null");
// step2、触发轨迹推送事件(异步)
@@ -103,7 +103,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
///
///
///
- private async Task UpsertTrackAsync(TrackDetailsIndex? track, TrackUpsertEvent @event)
+ private async Task UpsertTrackAsync(TrackDetailsIndex? track, TrackUpsertEvent @event)
{
if (track == default)
{
@@ -113,7 +113,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
if (trackContent == default)
{
// 订单所绑定的模板,没有一条内容可以匹配发生的轨迹
- return;
+ return null;
}
track = new TrackDetailsIndex
@@ -146,6 +146,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
}
await _trackDetailsRepository.UpsertAsync(track);
+
+ return track;
}
///
@@ -162,7 +164,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
{
config = await _trackPushCacheService.GetPushContentConfigAsync(
@event.SubSystemId, @event.CustomId, track.TrackContentId);
- if (!config.IsCanUpdate) return;
+ if (config == null || !config.IsCanUpdate) return;
}
else
{
diff --git a/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs b/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs
index 46155e2e..5dc319f8 100644
--- a/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs
+++ b/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs
@@ -28,12 +28,12 @@ public class TrackPushCacheService : ApplicationService, ITrackPushCacheService
}
[NonAction]
- public async Task GetPushContentConfigAsync(int subSystemId, int customId,
+ public async Task GetPushContentConfigAsync(int subSystemId, int customId,
int trackContentId)
{
var data = await GetPushContentConfigsAsync(subSystemId, customId);
- return data.Single(x => x.TrackContentId == trackContentId);
+ return data?.FirstOrDefault(x => x.TrackContentId == trackContentId);
}
[NonAction]