From 8570e6b4a1e9227d78302bbad1479212c80422b1 Mon Sep 17 00:00:00 2001
From: "review512jwy@163.com" <“review512jwy@163.com”>
Date: Wed, 21 Jan 2026 20:33:23 +0800
Subject: [PATCH] =?UTF-8?q?=E7=8A=B6=E6=80=81=E8=AE=BE=E5=A4=87=EF=BC=8C?=
=?UTF-8?q?=E6=8C=81=E7=BB=AD=E8=BF=90=E8=A1=8C=E6=97=B6=E9=97=B4=E9=80=BB?=
=?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/resources/mappers/ex/DeviceInfoMapperExt.xml | 4 +++-
.../dashboard/back/vo/data/DeviceBaStatusData.java | 3 +++
.../service/impl/DeviceDataBaStatusServiceImpl.java | 11 +++++++++--
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml
index 3e20449..dcb3613 100644
--- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml
+++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml
@@ -200,6 +200,7 @@
bss.continuous_running_time,
bss.last_start_time,
bss.last_stop_time,
+ bss.latest_ts,
# bss.is_running runningStatus,
4 as classId
@@ -221,7 +222,8 @@
bss.continuous_running_time,
bss.last_start_time,
bss.last_stop_time,
- bss.is_running runningStatus,
+ bss.latest_ts,
+# bss.is_running runningStatus,
4 as classId
left join dashboard_device_group_relation ddgr on ddgr.device_info_id = device_info.id
diff --git a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java
index dfdaa29..e94be6f 100644
--- a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java
+++ b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/vo/data/DeviceBaStatusData.java
@@ -29,4 +29,7 @@ public class DeviceBaStatusData extends BaseData{
@Schema(description = "stop/running: 0-停止, 1-运行", example = "1")
private Integer stopRun;
+ @Schema(description = "last stop time", example = "1720000000000", hidden = true)
+ private String latestTs;
+
}
diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java
index e0a38df..027626b 100644
--- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java
+++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java
@@ -135,12 +135,12 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService
// 查询 favorited_device 表中所有设备的 device_id
List favoritedDeviceIds = favoritedDeviceMapperExt.getFavoritedDeviceIds();
+
+ long currentTs = System.currentTimeMillis();
for (DeviceBaStatusData data : resultList){
String deviceId = data.getDeviceId().toLowerCase();
String sDeviceId = deviceId85ToSMap.get(deviceId);
- data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(data.getContinuousRunningTime()));
-
//处理111状态映射
// data.setStatus111(commonOpt.buildStatus111(deviceId, deviceId85To111Map, deviceInfo111Map, realtime111Map, objectMapper));
data.setStatus111(commonOpt.buildRawFirstValue(deviceId, deviceId85To111Map, realtime111Map, objectMapper));
@@ -159,6 +159,13 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService
} else {
data.setStopRun(commonOpt.judgeStopRun(objectMapper, realtime85Map.get(deviceId)));
}
+
+ if (0 == data.getStopRun()) {
+ data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(data.getContinuousRunningTime()));
+ } else if (StringUtils.isNotBlank(data.getLatestTs()) && currentTs >= Long.parseLong(data.getLatestTs())) {
+ long diff = currentTs - Long.parseLong(data.getLatestTs());
+ data.setContinuousRunningTimeStr(SecondsToHMSConverter.covertSeconds(diff));
+ }
}
}