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)); + } } }