Merge branch 'S03-轨迹中台优化项' into dev

This commit is contained in:
李鹏军 2024-04-16 14:33:58 +08:00
commit c39d2e41ee
4 changed files with 20 additions and 4 deletions

View File

@ -20,7 +20,7 @@ public class TrackInsertForNotMappedEventHandler : ITransientDependency, ICapSub
{
if (await _trackDetailsRepository.AnyAsync(@event.OrderId, @event.TrackTime))
{
return; // 无法映射的轨迹只做新增
return;
}
// 新增服务商轨迹到es
@ -45,6 +45,6 @@ public class TrackInsertForNotMappedEventHandler : ITransientDependency, ICapSub
track.TrackEnContent = GlobalConst.EmptyString;
track.ZeroTrackTime = track.TrackTime.Subtract(TimeSpan.FromHours(track.TrackTimeZone));
await _trackDetailsRepository.UpdateAsync(track);
await _trackDetailsRepository.AddAsync(track);
}
}

View File

@ -109,7 +109,6 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
{
track = new TrackDetailsIndex
{
IndexName = $"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}",
OrderId = order.OrderId,
OrderNo = order.OrderNo,
OrderType = order.OrderType,

View File

@ -17,6 +17,7 @@ public interface ITrackDetailsRepository
Task AddManyAsync(List<TrackDetailsIndex> index);
Task AddAsync(TrackDetailsIndex track);
Task<List<TrackDetailsIndex>> GetListAsync(int orderType, List<string> orderNos);

View File

@ -120,7 +120,10 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
public async Task AddManyAsync(List<TrackDetailsIndex> tracks)
{
// 按天写入es
var r = await Context.IndexManyAsync(tracks, tracks.First().IndexName);
var indexName = $"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}";
tracks.ForEach(x => x.IndexName = indexName);
var r = await Context.IndexManyAsync(tracks, indexName);
if (!r.IsValid)
{
@ -128,6 +131,19 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
}
}
public async Task AddAsync(TrackDetailsIndex track)
{
// 按天写入es
var indexName = $"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}";
track.IndexName = indexName;
var r = await Context.IndexAsync(track, s => s.Index(indexName));
if (!r.IsValid)
{
throw new Exception($"轨迹新增失败,原因:{r.DebugInformation}。");
}
}
public async Task<List<TrackDetailsIndex>> GetListAsync(int orderType, List<string> orderNos)
{
if (orderNos.Count < 1) return new List<TrackDetailsIndex>();