diff --git a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs index a4dd9e6a..5daf8e35 100644 --- a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs +++ b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs @@ -759,12 +759,23 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen ) { // 新增/修改/删除 实体,稍后做处理 - var addEntities = TransportWarningSceneRuleItemBO.ToEntities(addRuleItems); - var updateEntities = TransportWarningSceneRuleItemBO.ToEntities(updateRuleItems); + if (addRuleItems.Count > 0) + { + var addEntities = TransportWarningSceneRuleItemBO.ToEntities(addRuleItems); + await _warningRuleRepository.BulkInsertTransportSceneRuleItemsAsync(addEntities); + } + + if (updateRuleItems.Count > 0) + { + var updateEntities = TransportWarningSceneRuleItemBO.ToEntities(updateRuleItems); + await _warningRuleRepository.BulkUpdateTransportSceneRuleItemsAsync(updateEntities); + } + var deleteRuleItemIds = deleteRuleItems.Select(x => x.Id).ToHashSet(); - await _warningRuleRepository.BulkInsertTransportSceneRuleItemsAsync(addEntities); - await _warningRuleRepository.BulkUpdateTransportSceneRuleItemsAsync(updateEntities); - await _warningRuleRepository.DeleteTransportSceneRuleItemsAsync(deleteRuleItemIds); + if (deleteRuleItemIds.Count > 0) + await _warningRuleRepository.DeleteTransportSceneRuleItemsAsync(deleteRuleItemIds); + + if (updateRuleItems.Count == 0) return; // 1.查询变更配置相关的预警生成任务(未关闭的) var updateRuleItemIds = updateRuleItems.Select(x => x.Id).ToHashSet();