using SJZY.Expand.ElasticSearch.Services; using SJZY.Track.Domain.Dtos.TrackContents; using SJZY.Track.Domain.Enums; namespace SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; public interface ITrackDetailsEsRepository : IElasticsearchClientService { Task> GetListAsync(int[] orderIds, string trackCode, bool forUpsert = false); Task> GetLatestListAsync(int[] eventOrderIds, List trackCodes); Task> GetListAsync(int subSystemId, int orderType, List orderNos, List? trackCodes = null); Task AnyAsync(int orderId, string originTrackDataHash); Task UpdateAsync(TrackDetailsIndex index); Task UpdateManyAsync(List indexes, int maxRetries = 3); Task BulkUpdateAsync(List indexes, int maxRetries = 3); Task AddManyAsync(List index); Task AddAsync(TrackDetailsIndex track); Task> GetListAsync(int orderId); Task> GetListAsync(int[] orderIds, List? trackCodes = null, TrackSourceEnum? source = null); Task> DeleteTrackAsync(int[] orderIds, List trackCodes); Task DeleteTrackByIdAsync(string id, string indexName); Task> GetDataByIds(string[] ids); Task GetDetailAsync(string orderNo, string trackCode, int orderType, int subSystemId, DateTime trackTime); Task MigrateAsync(); }