diff --git a/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs index d6fcb03a..c2c2072d 100644 --- a/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs +++ b/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs @@ -48,4 +48,9 @@ public class TrackUpsertEvent : UpsertTrackInput /// 原轨迹报文 /// public string? OriginTrackData { get; set; } + + /// + /// 操作人 + /// + public string? OperationMan { get; set; } } \ No newline at end of file diff --git a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs index e51481e5..ed4b838c 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs @@ -8,7 +8,6 @@ using SJZY.Track.Domain.Aggregates.OrderAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Consts; using SJZY.Track.Domain.Queries; -using SJZY.UserCenter.HttpApi.Services; using Volo.Abp.DependencyInjection; namespace SJZY.Track.Application.EventHandlers; @@ -135,7 +134,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe IsCanDelete = trackContent.IsCanDelete, OriginTrackContent = @event.OriginTrackContent, OriginTrackData = @event.OriginTrackData, - CreateUser = CurrentUserRequest.CurrentUser.Name, + CreateUser = @event.OperationMan, CreateTime = DateTime.Now }; @@ -146,7 +145,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe track.TrackPlace = @event.TrackPlace; track.TrackTime = @event.TrackTime!.Value; track.TrackTimeZone = @event.TrackTimeZone!.Value; - track.UpdateUser = CurrentUserRequest.CurrentUser.Name; + track.UpdateUser = @event.OperationMan ?? "系统"; track.UpdateTime = DateTime.Now; } diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackPullService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackPullService.cs index 9fd4cd56..f404b238 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackPullService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackPullService.cs @@ -86,10 +86,10 @@ public class TrackPullService : ApplicationService } var orders = await _provideQueries.FindOrderWithServiceProviderAsync(config.ServiceProviderId); + var serviceProviderCode = orders.FirstOrDefault()?.ServiceProviderCode; foreach (var group in orders.GroupBy(x => - new TrackRefreshAttach(x.ServiceProviderId, x.ServiceProviderCode, x.SubSystemId, - x.OrderType))) + new { x.SubSystemId, x.OrderType })) { var data = group.Select(x => new { @@ -98,8 +98,10 @@ public class TrackPullService : ApplicationService // 批量获取轨迹 await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync( - InterfaceRelayConst.GetTrackInterfaceCode, group.Key.ServiceProviderCode, data, - GlobalConst.TrackRefreshSubscribe, JsonConvert.SerializeObject(group.Key)); + InterfaceRelayConst.GetTrackInterfaceCode, serviceProviderCode, data, + GlobalConst.TrackRefreshSubscribe, + JsonConvert.SerializeObject(new TrackRefreshAttach(config.ServiceProviderId, serviceProviderCode!, + group.Key.SubSystemId, group.Key.OrderType))); } await RedisHelper.Client.SetExAsync(redisKey, config.PullInterval * 60, orders.Count); diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs index 3e03dc21..c21e2a34 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs @@ -6,6 +6,7 @@ using SJZY.Track.Domain.Aggregates.OrderAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Consts; using SJZY.Track.Domain.Queries; +using SJZY.UserCenter.HttpApi.Services; namespace SJZY.Track.Application.Services.ProvideServices; @@ -56,6 +57,7 @@ public partial class TrackService : ApplicationService, ITrackService @event.LatestPushTrackContentId = order.LatestPushTrackContentId; @event.CustomId = order.CustomId; @event.IsCompleted = order.IsCompleted; + @event.OperationMan = CurrentUserRequest.CurrentUser.Name; await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, @event); return true; }