fix:当订单变更为已完结是只关闭运输时效预警相关产物
fix:回传预警和完整预警只忽略不存在的订单
This commit is contained in:
parent
7c1b4e67f8
commit
a254d735bf
@ -32,12 +32,9 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
|
||||
|
||||
public async Task TrackDeletedHandleAsync(List<TrackDeletedSignal> deletedSignals)
|
||||
{
|
||||
// 1.验证订单可行性
|
||||
// 1.只处理未删除的订单
|
||||
var orderIdSet = deletedSignals.Select(x => x.OrderId).ToHashSet();
|
||||
var orders = await _orderRepository.GetListAsync(x =>
|
||||
orderIdSet.Contains(x.Id)
|
||||
&& x.IsCompleted == false
|
||||
);
|
||||
var orders = await _orderRepository.GetListAsync(x => orderIdSet.Contains(x.Id));
|
||||
if (orders.Count == 0) return; //不存在符合条件的订单,直接提交信号丢弃
|
||||
|
||||
// 2.查出订单指定状态的轨迹(tips:为了指定状态的轨迹是真的被清空了)
|
||||
@ -105,11 +102,9 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
|
||||
|
||||
public async Task TrackAddedHandleAsync(List<TrackAddedSignal> addedSignals)
|
||||
{
|
||||
// 1.验证订单可行性
|
||||
// 1.只处理未删除的订单
|
||||
var orderIdSet = addedSignals.Select(x => x.OrderId).ToHashSet();
|
||||
var orders = await _orderRepository.GetListAsync(x =>
|
||||
orderIdSet.Contains(x.Id)
|
||||
);
|
||||
var orders = await _orderRepository.GetListAsync(x => orderIdSet.Contains(x.Id));
|
||||
if (orders.Count == 0) return; //不存在符合条件的订单,直接提交信号丢弃
|
||||
|
||||
var orderIds = orders.Select(x => x.Id).ToHashSet();
|
||||
|
||||
@ -25,6 +25,7 @@ public class OrderWarningHandler : IOrderWarningHandler, ITransientDependency
|
||||
});
|
||||
}
|
||||
|
||||
// tips:要区分完结还是删除
|
||||
public async Task HandleOrderDeletedOrCompletedAsync(List<OrderEntity> orders)
|
||||
{
|
||||
// 选出符合条件的订单
|
||||
@ -36,7 +37,7 @@ public class OrderWarningHandler : IOrderWarningHandler, ITransientDependency
|
||||
await _warningTaskRepository.CloseWarningNotifyTaskAsync(x =>
|
||||
!x.IsClosed
|
||||
&& orderIds.Contains(x.OrderId)
|
||||
&& x.WarningType != (int) WarningRuleType.完整预警 // tips:不要移除完整预警
|
||||
&& x.WarningType == (int) WarningRuleType.运输时效预警 // tips:不要移除完整预警
|
||||
);
|
||||
|
||||
// 2.移除关闭【回传重试推送任务】,【运输预警明细生成任务】tips:无法关闭回传重试任务
|
||||
@ -54,10 +55,11 @@ public class OrderWarningHandler : IOrderWarningHandler, ITransientDependency
|
||||
{
|
||||
OrderIds = orderIds,
|
||||
});
|
||||
await _warningDetailsEsRepository.BulkCloseReturnWarningDetailsAsync(new BulkCloseReturnWarningDetailsVO
|
||||
{
|
||||
OrderIds = orderIds,
|
||||
});
|
||||
// tips:不要移除回传预警
|
||||
// await _warningDetailsEsRepository.BulkCloseReturnWarningDetailsAsync(new BulkCloseReturnWarningDetailsVO
|
||||
// {
|
||||
// OrderIds = orderIds,
|
||||
// });
|
||||
// tips:不要移除完整预警
|
||||
// await _warningDetailsEsRepository.BulkCloseCompleteWarningDetailsAsync(new BulkCloseCompleteWarningDetailsVO
|
||||
// {
|
||||
|
||||
@ -406,8 +406,8 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe
|
||||
{
|
||||
// 1.查询订单
|
||||
var orderIdSet = updateOrDeleteSignals.Select(x => x.OrderId).ToHashSet();
|
||||
// 只处理未完结并且未删除的订单
|
||||
var orders = await _orderRepository.GetListAsync(x => orderIdSet.Contains(x.Id) && x.IsCompleted == false);
|
||||
// 只处理未删除的订单
|
||||
var orders = await _orderRepository.GetListAsync(x => orderIdSet.Contains(x.Id));
|
||||
if (orders.Count == 0) return; //无任何订单需要处理,直接提交信号丢弃
|
||||
|
||||
var orderIds = orders.Select(x => x.Id).ToHashSet();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user