From 77d2275afa6fb9bf4c958da6d4829ba18cb9115c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Mon, 15 Apr 2024 09:03:04 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9Aorder=20link=20query=20logic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EventHandlers/TrackDeleteEventHandler.cs | 2 +- .../EventHandlers/TrackUpsertEventHandler.cs | 2 +- src/SJZY.Track.Domain/Dtos/Order/LinkedOrderVO.cs | 5 +++++ src/SJZY.Track.Repository/Repositories/OrderRepository.cs | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/SJZY.Track.Application/EventHandlers/TrackDeleteEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackDeleteEventHandler.cs index ea6698fb..fc413d98 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackDeleteEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackDeleteEventHandler.cs @@ -42,7 +42,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe var linkedOrders = await _orderRepository.GetLinkedOrdersAsync(@event.OrderIds); foreach (var orderId in @event.OrderIds) { - foreach (var group in linkedOrders.Where(x => x.OrderId == orderId) + foreach (var group in linkedOrders.Where(x => x.OwnerOrderId == orderId) .GroupBy(x => x.SubSystemId)) { var nextEvent = @event.DeepCopy(); diff --git a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs index 0ce9623c..81d7e461 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs @@ -46,7 +46,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe foreach (var order in @event.OrderIdentifiers) { // 理论上小包在这不会分组 - foreach (var group in linkedOrders.Where(x => x.OrderId == order.OrderId) + foreach (var group in linkedOrders.Where(x => x.OwnerOrderId == order.OrderId) .GroupBy(x => x.SubSystemId)) { var nextEvent = @event.DeepCopy(); diff --git a/src/SJZY.Track.Domain/Dtos/Order/LinkedOrderVO.cs b/src/SJZY.Track.Domain/Dtos/Order/LinkedOrderVO.cs index c6eea835..5b81e796 100644 --- a/src/SJZY.Track.Domain/Dtos/Order/LinkedOrderVO.cs +++ b/src/SJZY.Track.Domain/Dtos/Order/LinkedOrderVO.cs @@ -2,6 +2,11 @@ public class LinkedOrderVO { + /// + /// 被关联订单id + /// + public int OwnerOrderId { get; set; } + /// /// 关联订单id /// diff --git a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs index 5e78fc5f..93edf756 100644 --- a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs @@ -74,6 +74,7 @@ AND `a`.`IsDeleted` = 0 AND `b`.`IsDeleted` = 0;"); .Where(a => orderIds.Contains(a.OrderId)) .Select((a, b) => new LinkedOrderVO { + OwnerOrderId = a.OrderId, OrderId = b.Id, OrderNo = b.OrderNo, OrderType = b.OrderType,