diff --git a/intc-modules/intc-iot/src/main/java/com/intc/iot/service/impl/WarnCallNoticeServiceImpl.java b/intc-modules/intc-iot/src/main/java/com/intc/iot/service/impl/WarnCallNoticeServiceImpl.java index 5b11637..95bfbbd 100644 --- a/intc-modules/intc-iot/src/main/java/com/intc/iot/service/impl/WarnCallNoticeServiceImpl.java +++ b/intc-modules/intc-iot/src/main/java/com/intc/iot/service/impl/WarnCallNoticeServiceImpl.java @@ -56,9 +56,10 @@ public class WarnCallNoticeServiceImpl implements WarnCallNoticeService { /** * 回执超时时间(分钟) - * VMS 回执延迟较长,改为 5 分钟,避免回执未到就被标记为超时 + * VMS 回执延迟较长,设为 15 分钟,给 VMS 平台充足的回调缓冲时间 + * 注意:超时判断基于 callTime(预计呼叫时间),实际呼叫发起后回调可能延迟数分钟到达 */ - private static final int CALLBACK_TIMEOUT_MINUTES = 5; + private static final int CALLBACK_TIMEOUT_MINUTES = 15; @Override @Transactional(rollbackFor = Exception.class) @@ -104,7 +105,10 @@ public class WarnCallNoticeServiceImpl implements WarnCallNoticeService { } if (callNotice == null) { - log.warn("[告警通知] 未找到对应的通知记录 - 呼叫ID: {}, outId: {}", callback.getCallId(), outId); + log.warn("[告警通知] 未找到对应的通知记录,标记为已处理跳过 - 呼叫ID: {}, outId: {}", callback.getCallId(), outId); + // 通知记录不存在(可能已被清除),直接标记回执为已处理,避免无限重复扫描 + callback.setProcessed(1); + vmsCallbackMapper.updateById(callback); return false; }