diff --git a/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs index d732258d..9d0e410d 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackRefreshEventHandler.cs @@ -29,7 +29,7 @@ public class TrackRefreshEventHandler : ITransientDependency, ICapSubscribe _trackPullCacheService = trackPullCacheService; } - [CapSubscribe(GlobalConst.TrackRefreshSubscribe)] + [CapSubscribe(GlobalConst.TrackRefreshSubscribe, Group = GlobalConst.TrackRefreshSubscribe)] public async Task ConsumerAsync(InterfaceRelayForwardReplayEvent @event) { var attach = JsonConvert.DeserializeObject(@event.Attach); diff --git a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs index 132341a1..f50d7ebb 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs @@ -87,9 +87,30 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract> GetListAsync(int orderType, List orderNos, string trackCode) + public async Task> GetListAsync(int orderType, List orderNos, string trackCode) { - throw new NotImplementedException(); + if (orderNos.Count < 1) return new List(); + + var data = await Context.SearchAsync(x => x + .Source(s => s.Includes(fd => fd + .Field(f => f.OrderNo) + .Field(f => f.TrackStatus) + .Field(f => f.TrackCode) + .Field(f => f.TrackContent) + .Field(f => f.TrackPlace) + .Field(f => f.TrackTime) + .Field(f => f.TrackTimeZone) + )) + .Query(q => + q.Terms(t => t + .Field(f => f.OrderNo.Suffix("keyword")) + .Terms(orderNos)) + && q.Term(f => f.OrderType, orderType) + && q.Term(f => f.TrackCode.Suffix("keyword"), trackCode) + ) + ); + + return data.Documents.ToList(); } public async Task> GetListAsync(int orderId)