fix: 修复根据EsId删除更新当地主表异常
This commit is contained in:
parent
ac5028587f
commit
ae011fb8fb
@ -175,6 +175,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
{
|
{
|
||||||
List<int> orderIds;
|
List<int> orderIds;
|
||||||
List<TrackDetailsIndex> tracks;
|
List<TrackDetailsIndex> tracks;
|
||||||
|
List<TrackDetailsIndex> deleteTracks;
|
||||||
if (@event.EsIds != null && @event.EsIds.Any()) //根据明确的esid进行删除
|
if (@event.EsIds != null && @event.EsIds.Any()) //根据明确的esid进行删除
|
||||||
{
|
{
|
||||||
tracks = await _trackDetailsEsRepository.GetDataByIds(@event.EsIds);
|
tracks = await _trackDetailsEsRepository.GetDataByIds(@event.EsIds);
|
||||||
@ -196,6 +197,8 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
await _trackDetailsEsRepository.DeleteTrackByIdAsync(item.Id, item.IndexName);
|
await _trackDetailsEsRepository.DeleteTrackByIdAsync(item.Id, item.IndexName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//已经删除的轨迹
|
||||||
|
deleteTracks = tracks;
|
||||||
//清理已经删除过的esid
|
//清理已经删除过的esid
|
||||||
@event.EsIds = Array.Empty<string>();
|
@event.EsIds = Array.Empty<string>();
|
||||||
}
|
}
|
||||||
@ -207,7 +210,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
//构建标识符集合
|
//构建标识符集合
|
||||||
var ids = @event.TrackIdentifiers.Select(x => $"{x.TrackCode}{x.TrackTime}").ToList();
|
var ids = @event.TrackIdentifiers.Select(x => $"{x.TrackCode}{x.TrackTime}").ToList();
|
||||||
//根据标识符选出要删除的轨迹明细
|
//根据标识符选出要删除的轨迹明细
|
||||||
var deleteTracks = tracks.Where(x => ids.Contains($"{x.TrackCode}{x.TrackTime}")).ToList();
|
deleteTracks = tracks.Where(x => ids.Contains($"{x.TrackCode}{x.TrackTime}")).ToList();
|
||||||
|
|
||||||
if (deleteTracks.Count == 0) return deleteTracks;
|
if (deleteTracks.Count == 0) return deleteTracks;
|
||||||
|
|
||||||
@ -218,10 +221,10 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
|
|
||||||
//从被删除轨迹寻找订单id,稍后会更新订单主表
|
//从被删除轨迹寻找订单id,稍后会更新订单主表
|
||||||
orderIds = deleteTracks.Select(m => m.OrderId).Distinct().ToList();
|
orderIds = deleteTracks.Select(m => m.OrderId).Distinct().ToList();
|
||||||
//排除掉已经删除的轨迹
|
|
||||||
tracks = tracks.Except(deleteTracks).ToList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//排除掉已经删除的轨迹
|
||||||
|
tracks = tracks.Except(deleteTracks).ToList();
|
||||||
|
|
||||||
var orders = await _orderRepository.GetListAsync(x => orderIds.Contains(x.Id),
|
var orders = await _orderRepository.GetListAsync(x => orderIds.Contains(x.Id),
|
||||||
x => new OrderEntity
|
x => new OrderEntity
|
||||||
@ -271,7 +274,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 = deleteTracks?.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
|
||||||
@ -290,6 +293,6 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
x.DestinationTimeZone
|
x.DestinationTimeZone
|
||||||
});
|
});
|
||||||
|
|
||||||
return tracks;
|
return deleteTracks;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user