diff --git a/src/SJZY.Track.Application.Contract/Events/TrackDeleteEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackDeleteEvent.cs index eccbe955..d5286726 100644 --- a/src/SJZY.Track.Application.Contract/Events/TrackDeleteEvent.cs +++ b/src/SJZY.Track.Application.Contract/Events/TrackDeleteEvent.cs @@ -22,6 +22,11 @@ public class TrackDeleteEvent /// public int UpSubSystemId { get; set; } + /// + /// 操作人 + /// + public string? OperationMan { get; set; } + /// /// 已经处理过的订单 /// diff --git a/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs b/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs index feaf198f..31f49b16 100644 --- a/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs +++ b/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs @@ -3,6 +3,7 @@ using DotNetCore.CAP.Filter; using SJZY.Expand.ABP.Core; using SJZY.Expand.ABP.Core.Logger; using SJZY.Expand.ABP.Core.PublicMethords; +using SJZY.Track.Domain.Consts; namespace SJZY.Track.Application.EventHandlers; @@ -17,6 +18,8 @@ public class CAPFilter : SubscribeFilter /// public override Task OnSubscribeExecutingAsync(ExecutingContext context) { + if (context.DeliverMessage.Headers["cap-msg-name"] == GlobalConst.TrackRefreshSubscribe) + return Task.CompletedTask; var argumentJsonStr = context.Arguments.ToJson(); context.DeliverMessage.Headers["sjzy-receive-time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"); diff --git a/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs index 75a991a2..8d6e6b07 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs @@ -37,6 +37,7 @@ public class TrackRefreshEventHandler : ITransientDependency, ICapSubscribe var config = await _trackPullCacheService.GetPullParamWithContentConfigAsync(attach.SubSystemId, attach.ServiceProviderId); + if (@event.Data == null) return; var data = JObject.Parse(@event.Data.ToString()!); var orderToken = data[config.ParamConfig.OrderPath]; if (orderToken is JArray orderTokens) diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs index 77199263..72fe2f20 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs @@ -80,7 +80,7 @@ public partial class TrackService : ApplicationService, ITrackService var orders = await _orderRepository.GetListAsync(x => x.OrderType == input.OrderType && input.OrderNos.Contains(x.OrderNo), x => new { - x.Id, x.OrderNo, x.SubSystemId, x.LatestPushTrackContentId, x.CustomId + x.Id, x.OrderNo, x.SubSystemId, x.LatestPushTrackContentId, x.CustomId, x.IsCompleted }); foreach (var order in orders) @@ -98,7 +98,9 @@ public partial class TrackService : ApplicationService, ITrackService OrderId = order.Id, SubSystemId = order.SubSystemId, LatestPushTrackContentId = order.LatestPushTrackContentId, - CustomId = order.CustomId + CustomId = order.CustomId, + IsCompleted = order.IsCompleted, + OperationMan = CurrentUserRequest.CurrentUser.Name }; await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, @event); } @@ -138,6 +140,7 @@ public partial class TrackService : ApplicationService, ITrackService OrderId = order.Id, TrackCodes = codes.Select(x => x.TrackCode).ToList(), SubSystemId = order.SubSystemId, + OperationMan = CurrentUserRequest.CurrentUser.Name }; await _capPublisher.PublishAsync(GlobalConst.TrackDeleteSubscribe, @event); @@ -177,6 +180,7 @@ public partial class TrackService : ApplicationService, ITrackService OrderId = group.Key, TrackCodes = codes.Select(x => x.TrackCode).ToList(), SubSystemId = orders.First(x => x.Id == group.Key).SubSystemId, + OperationMan = CurrentUserRequest.CurrentUser.Name }; await _capPublisher.PublishAsync(GlobalConst.TrackDeleteSubscribe, @event); }