Merge pull request 'S06' (#70) from S06 into test
Reviewed-on: https://git.shijizhongyun.com/Dotnet/SJZY.Track.Api/pulls/70
This commit is contained in:
commit
781b2fd369
@ -199,6 +199,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
return default;
|
||||
}
|
||||
|
||||
//#7001:未来潜在需求,当轨迹内容匹配预设,记录一个标记,保证下刷过程都是使用预设内衣
|
||||
//虽然在引发事件之前做了判断,引发之后并不一定立即处理,在此过程中轨迹内容仍然可能被修改,所以要二次进行判断。
|
||||
//通过来源指示是否为手动操作
|
||||
var manualOperation = @event.Source == (int) TrackSourceEnum.Artificial;
|
||||
@ -275,7 +276,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
var orderIds = @event.OrderIdentifiers.Select(x => x.OrderId).ToArray();
|
||||
|
||||
// important:轨迹code相同,时间、发生地不同的,可能存在多条!!
|
||||
var tracks = await _trackDetailsEsRepository.GetListAsync(orderIds, @event.TrackCode, true);
|
||||
var tracks = await _trackDetailsEsRepository.GetListAsync(orderIds, @event.TrackCode, false);
|
||||
|
||||
var insertTracks = new List<TrackDetailsIndex>();
|
||||
var updateTracks = new List<TrackDetailsIndex>();
|
||||
@ -355,6 +356,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
//来源轨迹内容,第一次新增的时候使用轨迹内容表提供的
|
||||
TrackStatus = trackContent.TrackStatus,
|
||||
TrackStatusCode = trackContent.TrackStatusCode,
|
||||
//跨子系统?
|
||||
TrackContent = @event.Content ?? trackContent.TrackContent,
|
||||
TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent,
|
||||
//S06新增轨迹明细字段
|
||||
@ -411,6 +413,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
track.UpdateTime = DateTime.Now;
|
||||
|
||||
//允许二次修改,在修改了轨迹内容后进行修改轨迹操作,如果输入的轨迹内容则以输入为准
|
||||
//跨子系统?
|
||||
track.TrackContent = @event.Content ?? trackContent.TrackContent;
|
||||
track.TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent;
|
||||
//S06新增
|
||||
@ -451,6 +454,11 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
|
||||
if (updateTracks.Any())
|
||||
{
|
||||
//逐条更新
|
||||
foreach (var track in updateTracks)
|
||||
{
|
||||
await _trackDetailsEsRepository.UpdateAsync(track);
|
||||
}
|
||||
await _trackDetailsEsRepository.UpdateManyAsync(updateTracks);
|
||||
}
|
||||
|
||||
|
||||
@ -183,6 +183,7 @@ public class TrackDetailsEsRepository : ElasticSearchContextAbstract<TrackDetail
|
||||
}
|
||||
}
|
||||
|
||||
//#4001批量更新时只会将所有id匹配的记录更新为同一内容,后续需要支持差异化更新
|
||||
public async Task UpdateManyAsync(List<TrackDetailsIndex> indexes, int maxRetries = 3)
|
||||
{
|
||||
var retryCount = 0;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user