From 0dc297bf02b08e5ec6deb39b28f71f88baf47672 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Mon, 30 Mar 2026 14:28:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=B6=E9=97=B4=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E5=88=97=E8=A1=A8=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=B9=B6=E5=A2=9E=E5=BC=BA=E5=BF=83=E8=B7=B3=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9A=84=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vmp/gb28181/service/impl/DeviceServiceImpl.java | 4 +++- .../notify/cmd/KeepaliveNotifyMessageHandler.java | 10 +++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java index c9d3969b6..0bc2c8348 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java @@ -1307,7 +1307,9 @@ public class DeviceServiceImpl implements IDeviceService, CommandLineRunner { } timeStatisticsList.add(timeStatistics); } - if (timeStatisticsList.size() > count) { + // 第一个数据由于没有上一个时间戳,无法计算时间差,去掉 + timeStatisticsList.removeFirst(); + if (timeStatisticsList.size() - 1 > count) { timeStatisticsList = timeStatisticsList.subList(timeStatisticsList.size() - count, timeStatisticsList.size()); } return timeStatisticsList; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/KeepaliveNotifyMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/KeepaliveNotifyMessageHandler.java index ec4cabc65..97e7a4ccf 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/KeepaliveNotifyMessageHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/KeepaliveNotifyMessageHandler.java @@ -94,9 +94,13 @@ public class KeepaliveNotifyMessageHandler extends SIPRequestProcessorParent imp } @Scheduled(fixedDelay = 10, timeUnit = TimeUnit.SECONDS) public void executeUpdateDeviceList() { - if (!taskQueue.isEmpty()) { - redisCatchStorage.updateDeviceKeepaliveTimeStamp(taskQueue.stream().toList()); - taskQueue.clear(); + try { + if (!taskQueue.isEmpty()) { + redisCatchStorage.updateDeviceKeepaliveTimeStamp(taskQueue.stream().toList()); + taskQueue.clear(); + } + } catch (Exception e) { + log.error("[定时任务] 更新心跳记录 执行异常", e); } }