From 0f495477768b21106708b4fb4f8232055ca905b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Tue, 26 Mar 2024 15:19:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?opt:=20=E6=8E=A8=E9=80=81=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=86=97=E4=BD=99orderNo=EF=BC=8CorderType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Events/TrackPushEvent.cs | 5 +++++ .../EventHandlers/TrackPushEventHandler.cs | 4 +++- .../EventHandlers/TrackUpsertEventHandler.cs | 1 + .../ProvideServices/TrackPushService.cs | 20 +++++++++++++++++-- .../ITrackPushRecordsRepository.cs | 2 ++ .../TrackPushRecordIndex.cs | 10 ++++++++++ .../TrackPushRecordsRepository.cs | 14 +++++++++++++ 7 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs index 8434072e..92ce75e1 100644 --- a/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs +++ b/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs @@ -22,6 +22,11 @@ public class TrackPushEvent /// public string OrderNo { get; set; } = null!; + /// + /// 订单类型 + /// + public int OrderType { get; set; } + /// /// 轨迹内容id /// diff --git a/src/SJZY.Track.Application/EventHandlers/TrackPushEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackPushEventHandler.cs index 58ddb13a..a1f9aba4 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackPushEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackPushEventHandler.cs @@ -44,7 +44,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe var isSuccess = res.Code == InterfaceRelayConst.SuccessCode; - // 写推送日志 + // 往es 写推送日志 await _trackPushRecordsRepository.AddAsync(new TrackPushRecordIndex { IndexName = $"{GlobalConst.TrackPushRecordsIndex}-{DateTime.Now:yyyy.MM.dd}", @@ -52,6 +52,8 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe Message = res.Msg, OptionType = @event.OptionType.ToString(), OrderId = @event.OrderId, + OrderType = @event.OrderType, + OrderNo = @event.OrderNo, TrackStatus = @event.TrackStatus, TrackCode = @event.TrackCode, TrackContent = @event.TrackContent, diff --git a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs index ed4b838c..e3276d02 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs @@ -191,6 +191,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe OptionType = optionType, ServiceProviderCode = config.ServiceProviderCode, OrderNo = track.OrderNo, + OrderType = track.OrderType, OrderId = track.OrderId, TrackContentId = config.TrackContentId, TrackStatus = track.TrackStatus, diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs index 85e48c02..272f4c40 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs @@ -5,6 +5,7 @@ using SJZY.Track.Application.Contract.Events; using SJZY.Track.Application.Contract.Services; using SJZY.Track.Domain.Aggregates.OrderAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; +using SJZY.Track.Domain.Aggregates.TrackPushAggregate; using SJZY.Track.Domain.Consts; using SJZY.Track.Domain.Enums; using SJZY.UserCenter.HttpApi.Services; @@ -22,16 +23,19 @@ public class TrackPushService : ApplicationService private readonly IOrderRepository _orderRepository; private readonly ITrackPushCacheService _pushCacheService; private readonly ICapPublisher _capPublisher; + private readonly ITrackPushRecordsRepository _trackPushRecordsRepository; public TrackPushService(ITrackPushCacheService pushCacheService, ITrackDetailsRepository trackDetailsRepository , IOrderRepository orderRepository - , ICapPublisher capPublisher) + , ICapPublisher capPublisher + , ITrackPushRecordsRepository trackPushRecordsRepository) { _pushCacheService = pushCacheService; _trackDetailsRepository = trackDetailsRepository; _orderRepository = orderRepository; _capPublisher = capPublisher; + _trackPushRecordsRepository = trackPushRecordsRepository; } /// @@ -47,7 +51,7 @@ public class TrackPushService : ApplicationService var orders = await _orderRepository.GetListAsync(x => x.OrderType == input.OrderType && input.OrderNos.Contains(x.OrderNo), x => new { - x.Id, x.OrderNo, x.SubSystemId, x.CustomId + x.Id, x.OrderNo, x.OrderType, x.SubSystemId, x.CustomId }); if (orders.Count == 0) @@ -81,6 +85,7 @@ public class TrackPushService : ApplicationService { ServiceProviderCode = config.ServiceProviderCode, OrderNo = order.OrderNo, + OrderType = order.OrderType, OrderId = order.Id, TrackContentId = config.TrackContentId, TrackStatus = track.TrackStatus, @@ -130,4 +135,15 @@ public class TrackPushService : ApplicationService return $"成功将:{orders.Count(x => x.QuestionType == (int)TrackProblemType.Warn)}个订单置为预警"; } + + /// + /// 获取轨迹推送记录 + /// + /// + /// + [HttpGet("GetTrackPushRecords")] + public async Task> GetTrackPushRecordsAsync(OrderNoInfo input) + { + return await _trackPushRecordsRepository.GetTrackPushRecordsAsync(input.OrderNo, input.OrderType); + } } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushRecordsRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushRecordsRepository.cs index e8115b13..e776b1f4 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushRecordsRepository.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/ITrackPushRecordsRepository.cs @@ -15,4 +15,6 @@ public interface ITrackPushRecordsRepository /// /// Task> GetTrackPushRecordsAsync(int orderId); + + Task> GetTrackPushRecordsAsync(string inputOrderNo, int inputOrderType); } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/TrackPushRecordIndex.cs b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/TrackPushRecordIndex.cs index 0d178b45..6efa70b5 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/TrackPushRecordIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackPushAggregate/TrackPushRecordIndex.cs @@ -17,6 +17,16 @@ public class TrackPushRecordIndex : IdBaseIndex /// public int OrderId { get; set; } + /// + /// 订单号 + /// + public string OrderNo { get; set; } = null!; + + /// + /// 订单类型(主数据枚举TrackOrderType) + /// + public int OrderType { get; set; } + /// /// 接口通请求Id /// diff --git a/src/SJZY.Track.Repository/Repositories/TrackPushRecordsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackPushRecordsRepository.cs index b537adb1..3847d786 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackPushRecordsRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackPushRecordsRepository.cs @@ -40,4 +40,18 @@ public class TrackPushRecordsRepository : ElasticSearchContextAbstract> GetTrackPushRecordsAsync(string orderNo, int orderType) + { + var data = await Context.SearchAsync(x => x + .Index(GlobalConst.TrackPushRecordsIndex) + .Query(q => + q.Term(t => t.OrderNo.Suffix("keyword"), orderNo) + && q.Term(f => f.OrderType, orderType) + ) + .Size(1000) + .Sort(s => s.Field(f => f.CreateTime, SortOrder.Descending))); + + return data.Documents.ToList(); + } } \ No newline at end of file From f85bc95e190bf7d01cb763dd6c858246d2a99281 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Tue, 26 Mar 2024 15:20:00 +0800 Subject: [PATCH 2/2] =?UTF-8?q?add=EF=BC=9A=E3=80=90=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=98=8E=E7=BB=86=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3-=E5=AF=B9=E5=A4=96=E3=80=91https://www.tapd.cn/608638?= =?UTF-8?q?49/prong/tasks/view/1160863849001017119?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/ProvideServices/TrackPushService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs index 272f4c40..78611294 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs @@ -141,7 +141,7 @@ public class TrackPushService : ApplicationService /// /// /// - [HttpGet("GetTrackPushRecords")] + [HttpGet("Track/GetTrackPushRecords")] public async Task> GetTrackPushRecordsAsync(OrderNoInfo input) { return await _trackPushRecordsRepository.GetTrackPushRecordsAsync(input.OrderNo, input.OrderType);