Merge branch 'S07' into test
This commit is contained in:
commit
f49824a904
@ -386,8 +386,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
|
||||
//允许二次修改,在修改了轨迹内容后进行修改轨迹操作,如果输入的轨迹内容则以输入为准
|
||||
//跨子系统?
|
||||
track.TrackContent = @event.Content ?? trackContent.TrackContent;
|
||||
track.TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent;
|
||||
track.TrackContent = string.IsNullOrWhiteSpace(@event.Content) ? trackContent.TrackContent : @event.Content;
|
||||
track.TrackEnContent = string.IsNullOrWhiteSpace(@event.EnStatus) ? trackContent.TrackEnContent : @event.EnStatus;
|
||||
//S06新增
|
||||
track.IsVisibility = @event.IsVisibility;
|
||||
//当传入的IsExternal为空,则使用轨迹内容中的IsExternal
|
||||
@ -435,8 +435,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
TrackStatusCode = trackContent.TrackStatusCode,
|
||||
//跨子系统?
|
||||
TrackContentId = trackContent.TrackContentId,
|
||||
TrackContent = @event.Content ?? trackContent.TrackContent,
|
||||
TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent,
|
||||
TrackContent = string.IsNullOrWhiteSpace(@event.Content) ? trackContent.TrackContent : @event.Content,
|
||||
TrackEnContent = string.IsNullOrWhiteSpace(@event.EnStatus) ? trackContent.TrackEnContent : @event.EnStatus,
|
||||
//S06新增轨迹明细字段
|
||||
IsVisibility = @event.IsVisibility,
|
||||
//当传入的IsExternal为空,则使用轨迹内容中的IsExternal
|
||||
|
||||
@ -84,7 +84,7 @@ public class TrackOrderService : ApplicationService
|
||||
{
|
||||
var order = await _orderRepository.GetFirstAsync(x => x.Id == input.OrderId);
|
||||
|
||||
if (order == default) throw new BusinessException(message: "订单不存在");
|
||||
if (order == null) throw new BusinessException(message: "订单不存在");
|
||||
|
||||
var oldIsCompleted = order.IsCompleted;
|
||||
if (oldIsCompleted == input.IsCompleted)
|
||||
@ -334,7 +334,7 @@ public class TrackOrderService : ApplicationService
|
||||
{
|
||||
_ = Task.Run(async () =>
|
||||
{
|
||||
var scope = _serviceProvider.CreateScope();
|
||||
var scope = _serviceProvider.CreateAsyncScope();
|
||||
try
|
||||
{
|
||||
var handler = scope.ServiceProvider.GetRequiredService<IOrderWarningHandler>();
|
||||
@ -342,7 +342,7 @@ public class TrackOrderService : ApplicationService
|
||||
}
|
||||
finally
|
||||
{
|
||||
scope.Dispose();
|
||||
await scope.DisposeAsync();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
|
||||
.ToDictionary(x => x.Key,
|
||||
y => y.Value
|
||||
.GroupBy(x => x.TrackStatusId)
|
||||
.ToDictionary(a => a.Key, b => true)
|
||||
.ToDictionary(a => a.Key, _ => true)
|
||||
);
|
||||
|
||||
// 3.查出预警明细(待处理)
|
||||
@ -80,7 +80,7 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
|
||||
// todo:需要处理要求轨迹完整的情况?
|
||||
}
|
||||
|
||||
if (closeDetailIds.Count == 0) ;
|
||||
if (closeDetailIds.Count == 0) return;
|
||||
|
||||
// 5.预警信息状态修改为【已关闭】
|
||||
await _warningDetailsEsRepository.BulkCloseCompleteWarningDetailsAsync(new BulkCloseCompleteWarningDetailsVO
|
||||
@ -256,14 +256,14 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
|
||||
// 1.1之前的配置数量为0,做只新增处理
|
||||
if (oldRuleItems.Count == 0)
|
||||
{
|
||||
if (addRuleItems.Count != 0)
|
||||
if (addRuleItems.Count > 0)
|
||||
await OnlyAddHandleAsync(rule, addRuleItems);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// 1.2之前的配置数量不为0,提交的数量为0,做只删除处理
|
||||
if (oldRuleItems.Count != 0 && postRuleItems.Count == 0)
|
||||
if (oldRuleItems.Count > 0 && postRuleItems.Count == 0)
|
||||
{
|
||||
await OnlyDeleteHandleAsync(rule, oldRuleItems);
|
||||
return;
|
||||
@ -334,20 +334,20 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
|
||||
{
|
||||
var ruleItemIds = new HashSet<int>(updateRuleItems.Count + deleteRuleItems.Count);
|
||||
// 新增/修改/删除 实体,稍后做处理
|
||||
if (addRuleItems.Count != 0)
|
||||
if (addRuleItems.Count > 0)
|
||||
{
|
||||
var addEntities = CompleteWarningRuleItemBO.ToEntities(addRuleItems);
|
||||
await _warningRuleRepository.BulkInsertCompleteRuleItemsAsync(addEntities);
|
||||
}
|
||||
|
||||
if (updateRuleItems.Count != 0)
|
||||
if (updateRuleItems.Count > 0)
|
||||
{
|
||||
var updateEntities = CompleteWarningRuleItemBO.ToEntities(updateRuleItems);
|
||||
await _warningRuleRepository.BulkUpdateCompleteRuleItemsAsync(updateEntities);
|
||||
ruleItemIds.UnionWith(updateEntities.Select(x => x.Id));
|
||||
}
|
||||
|
||||
if (deleteRuleItems.Count != 0)
|
||||
if (deleteRuleItems.Count > 0)
|
||||
{
|
||||
var deleteRuleItemIds = deleteRuleItems.Select(x => x.Id).ToHashSet();
|
||||
await _warningRuleRepository.DeleteCompleteRuleItemsAsync(deleteRuleItemIds);
|
||||
@ -363,7 +363,7 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
|
||||
await CloseWarningRuleLinkAsync(ruleItemIds);
|
||||
}
|
||||
|
||||
private bool CanNeedFollow(CompleteWarningRuleItemBO oldRule, CompleteWarningRuleItemBO postRule)
|
||||
private static bool CanNeedFollow(CompleteWarningRuleItemBO oldRule, CompleteWarningRuleItemBO postRule)
|
||||
{
|
||||
// 关注的订单类型减少
|
||||
var oldTypes = oldRule.OrderTypes;
|
||||
|
||||
@ -99,7 +99,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe
|
||||
if (rule != null)
|
||||
{
|
||||
var ruleItemEntities = await _warningRuleRepository.GetReturnRuleItemsAsync(rule.Id);
|
||||
if (ruleItemEntities.Count != 0)
|
||||
if (ruleItemEntities.Count > 0)
|
||||
ruleItem = ruleItemEntities.FirstOrDefault(x => x.CanHitRule(recordFirst.TrackStatusId));
|
||||
}
|
||||
|
||||
@ -232,7 +232,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe
|
||||
await _warningDetailsEsRepository.BulkUpdateReturnWarningDetailsAsync(followDetails);
|
||||
await _warningDetailsEsRepository.InsertReturnMessageRecordAsync(BuildReturnMessageRecord(followDetails, recordFirst));
|
||||
|
||||
if (addNotifyTasks.Count != 0)
|
||||
if (addNotifyTasks.Count > 0)
|
||||
await _warningTaskRepository.BulkInsertWarningNotifyTaskAsync(addNotifyTasks);
|
||||
|
||||
|
||||
@ -263,7 +263,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe
|
||||
private (Dictionary<string, Dictionary<string, long>> OrderNoTrackIdVersionDict, Dictionary<string, long> AllTrackIdVersionDict)
|
||||
ExtractOrderNoTrackIdVersionDict(List<TrackPushInput> pushInputs, List<TrackUpdateInput> updateInputs)
|
||||
{
|
||||
var inputs = (pushInputs.Count != 0
|
||||
var inputs = (pushInputs.Count > 0
|
||||
? pushInputs.Select(x => new
|
||||
{
|
||||
x.OrderNo,
|
||||
@ -490,14 +490,14 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe
|
||||
// 1.1之前的配置数量为0,做只新增处理
|
||||
if (oldRuleItems.Count == 0)
|
||||
{
|
||||
if (addRuleItems.Count != 0)
|
||||
if (addRuleItems.Count > 0)
|
||||
await OnlyAddHandleAsync(rule, addRuleItems);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// 1.2之前的配置数量不为0,提交的数量为0,做只删除处理
|
||||
if (oldRuleItems.Count != 0 && postRuleItems.Count == 0)
|
||||
if (oldRuleItems.Count > 0 && postRuleItems.Count == 0)
|
||||
{
|
||||
await OnlyDeleteHandleAsync(rule, oldRuleItems);
|
||||
return;
|
||||
@ -511,7 +511,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe
|
||||
// 构建配置id字段
|
||||
var oldDict = oldRuleItems.ToDictionary(x => x.Id);
|
||||
var postDict = postRuleItems
|
||||
.Where(x => x.Id != 0) //tips:忽略新增的规则条目
|
||||
.Where(x => x.Id > 0) //tips:忽略新增的规则条目
|
||||
.ToDictionary(x => x.Id);
|
||||
var ruleItemIds = oldDict.Keys.Concat(postDict.Keys).ToHashSet();
|
||||
foreach (var ruleItemId in ruleItemIds)
|
||||
@ -563,20 +563,20 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe
|
||||
{
|
||||
var ruleItemIds = new HashSet<int>(updateRuleItems.Count + deleteRuleItems.Count);
|
||||
// 1.新增/修改/删除规则,稍后做处理
|
||||
if (addRuleItems.Count != 0)
|
||||
if (addRuleItems.Count > 0)
|
||||
{
|
||||
var addEntities = ReturnWarningRuleItemBO.ToEntities(addRuleItems);
|
||||
await _warningRuleRepository.BulkInsertReturnRuleItemsAsync(addEntities);
|
||||
}
|
||||
|
||||
if (updateRuleItems.Count != 0)
|
||||
if (updateRuleItems.Count > 0)
|
||||
{
|
||||
var updateEntities = ReturnWarningRuleItemBO.ToEntities(updateRuleItems);
|
||||
await _warningRuleRepository.BulkUpdateReturnRuleItemsAsync(updateEntities);
|
||||
ruleItemIds.UnionWith(updateEntities.Select(x => x.Id));
|
||||
}
|
||||
|
||||
if (deleteRuleItems.Count != 0)
|
||||
if (deleteRuleItems.Count > 0)
|
||||
{
|
||||
var deleteRuleItemIds = deleteRuleItems.Select(x => x.Id).ToHashSet();
|
||||
await _warningRuleRepository.DeleteReturnRuleItemsAsync(deleteRuleItemIds);
|
||||
|
||||
@ -288,7 +288,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
||||
});
|
||||
|
||||
// 处理【通知阶段】的预警明细
|
||||
if (warningDetails.Count != 0)
|
||||
if (warningDetails.Count > 0)
|
||||
{
|
||||
var (needUpdateDetails, needCloseNotifyDetailsIds) = HandleExistsDetails(warningDetails, ruleItemBoDict, trackStatusTrackDict);
|
||||
updateDetails.AddRange(needUpdateDetails);
|
||||
@ -309,7 +309,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
||||
}
|
||||
|
||||
// 4.批量操作
|
||||
if (closeNotifyDetailsIds.Count != 0)
|
||||
if (closeNotifyDetailsIds.Count > 0)
|
||||
{
|
||||
await _warningTaskRepository.CloseWarningNotifyTaskAsync(x =>
|
||||
!x.IsClosed
|
||||
@ -318,11 +318,11 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
||||
);
|
||||
}
|
||||
|
||||
if (updateDetails.Count != 0)
|
||||
if (updateDetails.Count > 0)
|
||||
await _warningDetailsEsRepository.BulkUpdateTransportWarningDetailsAsync(updateDetails);
|
||||
if (addDetailGenerateTasks.Count != 0)
|
||||
if (addDetailGenerateTasks.Count > 0)
|
||||
await _warningTaskRepository.BulkInsertTransportWarningDetailsGenerateTaskAsync(addDetailGenerateTasks);
|
||||
if (updateDetailGenerateTasks.Count != 0)
|
||||
if (updateDetailGenerateTasks.Count > 0)
|
||||
await _warningTaskRepository.BulkUpdateTransportWarningDetailsGenerateTaskAsync(updateDetailGenerateTasks);
|
||||
}
|
||||
|
||||
@ -580,7 +580,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
||||
|
||||
// 4.仍然命中场景的订单需要修改明细中的内容(预警名称,预警规则描述)
|
||||
var needUpdateDetails = new List<TransportWarningDetailsIndex>();
|
||||
if (reHitSceneOrderIds.Count != 0)
|
||||
if (reHitSceneOrderIds.Count > 0)
|
||||
{
|
||||
// 明细->规则
|
||||
var updateDetails = warningDetails.Where(x => reHitSceneOrderIds.Contains(x.OrderId)).ToList();
|
||||
@ -689,13 +689,13 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
||||
// 1.1之前的配置数量为0,做只新增处理
|
||||
if (oldRuleItems.Count == 0)
|
||||
{
|
||||
if (addRuleItems.Count != 0)
|
||||
if (addRuleItems.Count > 0)
|
||||
await OnlyAddHandleAsync(rule, scene, addRuleItems);
|
||||
return;
|
||||
}
|
||||
|
||||
// 1.2之前的配置数量不为0,提交的数量为0,做只删除处理
|
||||
if (oldRuleItems.Count != 0 && postRuleItems.Count == 0)
|
||||
if (oldRuleItems.Count > 0 && postRuleItems.Count == 0)
|
||||
{
|
||||
await OnlyDeleteHandleAsync(rule, scene, oldRuleItems);
|
||||
return;
|
||||
@ -737,6 +737,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
||||
|
||||
private async Task OnlyAddHandleAsync(WarningRuleEntity rule, TransportWarningSceneBO scene, List<TransportWarningSceneRuleItemBO> bos)
|
||||
{
|
||||
if (bos.Count == 0) return;
|
||||
var entities = TransportWarningSceneRuleItemBO.ToEntities(bos);
|
||||
await _warningRuleRepository.BulkInsertTransportSceneRuleItemsAsync(entities);
|
||||
// 更新规则主体版本号
|
||||
@ -751,7 +752,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
||||
// 更新规则主体版本号
|
||||
await _warningRuleRepository.UpdateVersionAsync(rule);
|
||||
|
||||
// 处理轨迹删除
|
||||
// 处理规则删除
|
||||
await HandleDeleteAsync(ruleItemIds);
|
||||
}
|
||||
|
||||
|
||||
@ -224,7 +224,7 @@ public class TransportWarningService : ApplicationService
|
||||
LatestTrackContent = orderIdTrack?.TrackContent,
|
||||
LatestTrackTime = orderIdTrack?.TrackTime,
|
||||
LatestTrackTimeZone = FormatTimeZone(orderIdTrack?.TrackTimeZone),
|
||||
LatestTrackPlace = orderIdTrack?.TrackContent,
|
||||
LatestTrackPlace = orderIdTrack?.TrackPlace,
|
||||
|
||||
// 起始轨迹
|
||||
StartTrackStatus = x.StartTrackStatus,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user