fix: 修复根据ESid删除轨迹,向下刷导致重复删除出现ES删除报错的问题,从而影响关联订单的关联轨迹的删除
This commit is contained in:
parent
7b9de2b9ec
commit
47cc075b98
@ -172,6 +172,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
tracks = await _trackDetailsEsRepository.GetDataByIds(@event.EsIds);
|
tracks = await _trackDetailsEsRepository.GetDataByIds(@event.EsIds);
|
||||||
orderIds = tracks.Select(m => m.OrderId).Distinct().ToList();
|
orderIds = tracks.Select(m => m.OrderId).Distinct().ToList();
|
||||||
@event.OrderIds = orderIds.ToArray();
|
@event.OrderIds = orderIds.ToArray();
|
||||||
|
@event.TrackCodes = tracks.Select(x => x.TrackCode).Distinct().ToList();
|
||||||
|
|
||||||
// 外部api获取的轨迹不允许删除
|
// 外部api获取的轨迹不允许删除
|
||||||
if (tracks.Any(m => m.Source == TrackSourceEnum.ExternalServiceProvide.GetHashCode()))
|
if (tracks.Any(m => m.Source == TrackSourceEnum.ExternalServiceProvide.GetHashCode()))
|
||||||
@ -182,6 +183,9 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
{
|
{
|
||||||
await _trackDetailsEsRepository.DeleteTrackByIdAsync(item.Id, item.IndexName);
|
await _trackDetailsEsRepository.DeleteTrackByIdAsync(item.Id, item.IndexName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//清理已经删除过的esid
|
||||||
|
@event.EsIds = Array.Empty<string>();
|
||||||
}
|
}
|
||||||
else //原有逻辑,根据轨迹code和订单进行删除
|
else //原有逻辑,根据轨迹code和订单进行删除
|
||||||
{
|
{
|
||||||
@ -235,7 +239,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
OrderId = order.Id,
|
OrderId = order.Id,
|
||||||
OrderNo = order.OrderNo,
|
OrderNo = order.OrderNo,
|
||||||
OptionType = OrderOperationType.删除轨迹.ToString(),
|
OptionType = OrderOperationType.删除轨迹.ToString(),
|
||||||
Content = tracks?.Where(m=>m.OrderId == order.Id)?.ToList().ToJson(),
|
Content = tracks?.Where(m => m.OrderId == order.Id)?.ToList().ToJson(),
|
||||||
CreateUserId = @event.OperationManId,
|
CreateUserId = @event.OperationManId,
|
||||||
CreateUserName = @event.OperationMan ?? "",
|
CreateUserName = @event.OperationMan ?? "",
|
||||||
CreateTime = DateTime.Now
|
CreateTime = DateTime.Now
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user