fix:补充修改规则主体或后代内容时生成新的版本号

This commit is contained in:
hardstylewyl 2025-04-10 15:24:27 +08:00
parent 7b692553d2
commit ea080314c5
2 changed files with 11 additions and 4 deletions

View File

@ -29,7 +29,7 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
_warningTaskRepository = warningTaskRepository; _warningTaskRepository = warningTaskRepository;
} }
#region todo: 预警信号批处理-删除轨迹 #region 预警信号批处理-删除轨迹
public async Task TrackDeletedHandleAsync(List<TrackDeletedSignal> deletedSignals) public async Task TrackDeletedHandleAsync(List<TrackDeletedSignal> deletedSignals)
{ {
@ -91,11 +91,9 @@ public sealed class CompleteWarningHandler : ICompleteWarningHandler, ITransient
detail.MissingTrackStatusIds = expression; detail.MissingTrackStatusIds = expression;
updateDetails.Add(detail); updateDetails.Add(detail);
} }
// tips:需要处理要求轨迹完整的情况?
} }
// 6.批量更新轨迹 // 6.批量更新预警明细
if (updateDetails.Count > 0) if (updateDetails.Count > 0)
await _warningDetailsEsRepository.BulkUpdateCompleteWarningDetailsAsync(updateDetails); await _warningDetailsEsRepository.BulkUpdateCompleteWarningDetailsAsync(updateDetails);

View File

@ -548,6 +548,9 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
if (!CanSceneChange(oldScene, postScene)) if (!CanSceneChange(oldScene, postScene))
return; return;
// 更新规则主体版本号
await _warningRuleRepository.UpdateVersionAsync(rule);
// 1.找到该场景下所有的预警生成任务(未关闭的) // 1.找到该场景下所有的预警生成任务(未关闭的)
var generateTasks = await _warningTaskRepository.GetTransportWarningDetailsGenerateTaskAsync(x => var generateTasks = await _warningTaskRepository.GetTransportWarningDetailsGenerateTaskAsync(x =>
!x.IsClosed !x.IsClosed
@ -649,6 +652,9 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
public async Task HandleSceneDeletedAsync(WarningRuleEntity rule, TransportWarningSceneBO scene) public async Task HandleSceneDeletedAsync(WarningRuleEntity rule, TransportWarningSceneBO scene)
{ {
// 更新规则主体版本号
await _warningRuleRepository.UpdateVersionAsync(rule);
// 1.预警信息状态修改为已关闭(即将超时/已超时) // 1.预警信息状态修改为已关闭(即将超时/已超时)
await _warningDetailsEsRepository.BulkCloseTransportWarningDetailsAsync(new BulkCloseTransportWarningDetailsVO await _warningDetailsEsRepository.BulkCloseTransportWarningDetailsAsync(new BulkCloseTransportWarningDetailsVO
{ {
@ -796,6 +802,9 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
await HandleDeleteAsync(deleteRuleItemIds); await HandleDeleteAsync(deleteRuleItemIds);
} }
// 更新规则主体版本号
await _warningRuleRepository.UpdateVersionAsync(rule);
// 不存在更新需要关注的 // 不存在更新需要关注的
if (updateFollowRuleItems.Count == 0) return; if (updateFollowRuleItems.Count == 0) return;