Merge branch 'S07' into test

This commit is contained in:
hardstylewyl 2025-03-24 11:46:51 +08:00
commit f49824a904
6 changed files with 35 additions and 34 deletions

View File

@ -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

View File

@ -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();
}
});
}

View File

@ -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;

View File

@ -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);

View File

@ -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);
}

View File

@ -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,