From 1ba2ea3224c9cda92921a2f2be6b16ca2eb18169 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Tue, 13 Jan 2026 19:17:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=81=9C=E6=AD=A2=E3=80=82=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=EF=BC=8C=E7=94=A8rawData=E6=9C=80=E5=90=8E=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../back/vo/data/DeviceBaStatusData.java | 3 +++ .../back/service/common/CommonOpt.java | 18 ++++++++++++++++++ .../impl/DeviceDataBaStatusServiceImpl.java | 6 ++++++ 3 files changed, 27 insertions(+) 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 8d5b992..dfdaa29 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 @@ -26,4 +26,7 @@ public class DeviceBaStatusData extends BaseData{ @Schema(description = "device status", example = "障害") private String status111; + @Schema(description = "stop/running: 0-停止, 1-运行", example = "1") + private Integer stopRun; + } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java index 380b351..45fe052 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java @@ -644,4 +644,22 @@ public class CommonOpt { .map(data -> extractFirstValue(mapper, data)) .orElse(null); } + + public Integer judgeStopRun(ObjectMapper objectMapper, DeviceRawdataRealtime deviceRawdataRealtime) { + if (deviceRawdataRealtime == null) { + return null; + } + + try { + String statusValue = extractLastValue(objectMapper, deviceRawdataRealtime.getRawData()); + if ("0".equals(statusValue)){ + return 0; + } else { + return 1; + } + } catch (Exception e) { + logger.error("judgeStopRun error", e); + return null; + } + } } 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 ce04292..e0a38df 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 @@ -153,6 +153,12 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService // 判断设备是否在 favorited_device 表中 data.setCollected(favoritedDeviceIds.contains(deviceId) ? 1 : 0); + //停止、运行状态 + if(sNewerDeviceIds.contains(sDeviceId)) { + data.setStopRun(commonOpt.judgeStopRun(objectMapper, realtimeSMap.get(sDeviceId))); + } else { + data.setStopRun(commonOpt.judgeStopRun(objectMapper, realtime85Map.get(deviceId))); + } } }