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;
|
return default;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//#7001:未来潜在需求,当轨迹内容匹配预设,记录一个标记,保证下刷过程都是使用预设内衣
|
||||||
//虽然在引发事件之前做了判断,引发之后并不一定立即处理,在此过程中轨迹内容仍然可能被修改,所以要二次进行判断。
|
//虽然在引发事件之前做了判断,引发之后并不一定立即处理,在此过程中轨迹内容仍然可能被修改,所以要二次进行判断。
|
||||||
//通过来源指示是否为手动操作
|
//通过来源指示是否为手动操作
|
||||||
var manualOperation = @event.Source == (int) TrackSourceEnum.Artificial;
|
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();
|
var orderIds = @event.OrderIdentifiers.Select(x => x.OrderId).ToArray();
|
||||||
|
|
||||||
// important:轨迹code相同,时间、发生地不同的,可能存在多条!!
|
// 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 insertTracks = new List<TrackDetailsIndex>();
|
||||||
var updateTracks = new List<TrackDetailsIndex>();
|
var updateTracks = new List<TrackDetailsIndex>();
|
||||||
@ -355,6 +356,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
//来源轨迹内容,第一次新增的时候使用轨迹内容表提供的
|
//来源轨迹内容,第一次新增的时候使用轨迹内容表提供的
|
||||||
TrackStatus = trackContent.TrackStatus,
|
TrackStatus = trackContent.TrackStatus,
|
||||||
TrackStatusCode = trackContent.TrackStatusCode,
|
TrackStatusCode = trackContent.TrackStatusCode,
|
||||||
|
//跨子系统?
|
||||||
TrackContent = @event.Content ?? trackContent.TrackContent,
|
TrackContent = @event.Content ?? trackContent.TrackContent,
|
||||||
TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent,
|
TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent,
|
||||||
//S06新增轨迹明细字段
|
//S06新增轨迹明细字段
|
||||||
@ -411,6 +413,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
track.UpdateTime = DateTime.Now;
|
track.UpdateTime = DateTime.Now;
|
||||||
|
|
||||||
//允许二次修改,在修改了轨迹内容后进行修改轨迹操作,如果输入的轨迹内容则以输入为准
|
//允许二次修改,在修改了轨迹内容后进行修改轨迹操作,如果输入的轨迹内容则以输入为准
|
||||||
|
//跨子系统?
|
||||||
track.TrackContent = @event.Content ?? trackContent.TrackContent;
|
track.TrackContent = @event.Content ?? trackContent.TrackContent;
|
||||||
track.TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent;
|
track.TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent;
|
||||||
//S06新增
|
//S06新增
|
||||||
@ -451,6 +454,11 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
|
|
||||||
if (updateTracks.Any())
|
if (updateTracks.Any())
|
||||||
{
|
{
|
||||||
|
//逐条更新
|
||||||
|
foreach (var track in updateTracks)
|
||||||
|
{
|
||||||
|
await _trackDetailsEsRepository.UpdateAsync(track);
|
||||||
|
}
|
||||||
await _trackDetailsEsRepository.UpdateManyAsync(updateTracks);
|
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)
|
public async Task UpdateManyAsync(List<TrackDetailsIndex> indexes, int maxRetries = 3)
|
||||||
{
|
{
|
||||||
var retryCount = 0;
|
var retryCount = 0;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user