From 96b3486956600852f8ed3879ed79a0d750757a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Thu, 25 Apr 2024 10:23:09 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=89=8B=E5=8A=A8=E6=8E=A8?= =?UTF-8?q?=E9=80=81=20=E5=AD=90=E7=B3=BB=E7=BB=9F=EF=BC=8C=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=20=E5=88=86=E7=BB=84=E6=8E=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProvideServices/TrackPushService.cs | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs index 8b43e04f..d4bcb72d 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs @@ -39,25 +39,33 @@ public class TrackPushService : ApplicationService { input.OrderNos = input.OrderNos.Where(x => !x.IsNullOrWhiteSpace()).Distinct().ToList(); // 单号去重、去空 - var orderIds = await _orderRepository.GetArrayAsync(x => - x.OrderType == input.OrderType && input.OrderNos.Contains(x.OrderNo), x => x.Id); + var orders = await _orderRepository.GetArrayAsync(x => + x.OrderType == input.OrderType && input.OrderNos.Contains(x.OrderNo), x => new + { + x.Id, x.SubSystemId, x.CustomId + }); - if (!orderIds.Any()) + if (!orders.Any()) { throw new BusinessException(message: "一个订单都不存在"); } - var trackPushEvent = new TrackPushEvent + foreach (var group in orders.GroupBy(x => new { x.SubSystemId, x.CustomId })) { - OptionType = OptionType.新增, - OrderIds = orderIds, - TrackCode = input.TrackCode, - OperationMan = CurrentUserRequest.CurrentUser.Name, - }; + var trackPushEvent = new TrackPushEvent + { + OptionType = OptionType.新增, + SubSystemId = group.Key.SubSystemId, + CustomId = group.Key.CustomId, + OrderIds = group.Select(x => x.Id).ToArray(), + TrackCode = input.TrackCode, + OperationMan = CurrentUserRequest.CurrentUser.Name, + }; - await _capPublisher.PublishAsync(GlobalConst.TrackPushSubscribe, trackPushEvent); + await _capPublisher.PublishAsync(GlobalConst.TrackPushSubscribe, trackPushEvent); + } - return $"即将推送轨迹代码{input.TrackCode}给{orderIds.Length}个订单"; + return $"即将推送轨迹代码{input.TrackCode}给{orders.Length}个订单"; }