Merge remote-tracking branch 'origin/S03-轨迹中台优化项' into test
This commit is contained in:
commit
b96191241d
@ -234,46 +234,35 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
|
||||
|
||||
public async Task DeleteTrackAsync(int[] orderIds, List<string> trackCodes)
|
||||
{
|
||||
var search = await Context.SearchAsync<TrackDetailsIndex>(s => s
|
||||
.Source(fd => fd.Includes(f => f.Field("indexName")))
|
||||
.Size(1000)
|
||||
.Query(q => q
|
||||
.Bool(b => b
|
||||
.Must(
|
||||
mu => mu.Terms(t => t.Field(f => f.OrderId).Terms(orderIds)),
|
||||
mu => mu.Terms(t => t.Field(f => f.TrackCode.Suffix("keyword")).Terms(trackCodes))
|
||||
)
|
||||
var search = await Context.SearchAsync<TrackDetailsIndex>(x => x
|
||||
.Source(s => s.Includes(fd => fd.Field(f => f.IndexName)))
|
||||
.Size(1000)
|
||||
.Query(q => q
|
||||
.Bool(b => b
|
||||
.Must(
|
||||
mu => mu.Terms(t => t.Field(f => f.OrderId).Terms(orderIds)),
|
||||
mu => mu.Terms(t => t.Field(f => f.TrackCode.Suffix("keyword")).Terms(trackCodes))
|
||||
)
|
||||
)
|
||||
.Scroll("1m") // 设置滚动时间
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
while (search.IsValid && search.Documents.Any())
|
||||
{
|
||||
// 处理滚动查询结果
|
||||
var tracks = search.ToIdList();
|
||||
|
||||
foreach (var track in tracks)
|
||||
{
|
||||
var r = await Context.DeleteAsync<TrackDetailsIndex>(track.Id, u => u
|
||||
.Index(track.IndexName)
|
||||
);
|
||||
|
||||
if (!r.IsValid)
|
||||
throw new Exception($"轨迹数据删除失败,原因:{r.ServerError.Error}");
|
||||
}
|
||||
|
||||
var scrollId = search.ScrollId; // 更新滚动ID
|
||||
|
||||
// 滚动查询
|
||||
search = await Context.ScrollAsync<TrackDetailsIndex>("1m", scrollId);
|
||||
}
|
||||
|
||||
if (!search.IsValid)
|
||||
{
|
||||
throw new Exception($"轨迹查询异常,原因:{search.DebugInformation}。");
|
||||
}
|
||||
|
||||
var tracks = search.ToIdList();
|
||||
|
||||
foreach (var track in tracks)
|
||||
{
|
||||
var r = await Context.DeleteAsync<TrackDetailsIndex>(track.Id, u => u
|
||||
.Index(track.IndexName)
|
||||
);
|
||||
|
||||
if (!r.IsValid)
|
||||
throw new Exception($"轨迹数据删除失败,原因:{r.ServerError.Error}");
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<(List<TrackDetailsIndex> list, long total)> GetListAsync(TrackDetailsQueryInput input)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user