From a091a0552ba1374386910571ab9d929f84582fb5 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期一, 20 十二月 2021 14:36:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
index 744345a..510f104 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -8,6 +8,7 @@
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.redis.RedisService;
 import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.ximon.admin.dto.DeviceStatus;
 import com.sandu.ximon.admin.manager.iot.frame.A1Frame;
 import com.sandu.ximon.admin.manager.iot.frame.FrameBuilder;
 import com.sandu.ximon.admin.manager.iot.frame.IRequestFrame;
@@ -21,6 +22,7 @@
 import com.sandu.ximon.admin.manager.iot.rrpc.enums.A1OrderEnum;
 import com.sandu.ximon.admin.manager.iot.rrpc.enums.A2OrderEnum;
 import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.DeviceStateEnum;
 import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
 import com.sandu.ximon.admin.param.PoleBindingParam;
 import com.sandu.ximon.admin.param.PoleParam;
@@ -288,4 +290,27 @@
         return list(Wrappers.lambdaQuery(Pole.class).in(Pole::getId, poleIdList).select(Pole::getDeviceCode))
                 .stream().map(Pole::getDeviceCode).filter(StrUtil::isNotEmpty).collect(Collectors.toList());
     }
+
+    /**
+     * 鎵归噺鑾峰彇闃块噷浜戣澶囩殑鐘舵��
+     * @param deviceCodeList 闃块噷浜戣澶囩爜
+     * @return 璁惧鐘舵�佸垪琛�
+     */
+    public List<DeviceStatus> listStatusByDeviceCode(ArrayList<String> deviceCodeList) {
+        // 鏈�澶у彧鑳芥煡50涓�
+        List<List<String>> split = CollectionUtil.split(deviceCodeList, 50);
+        List<DeviceStatus> statusList = new ArrayList<>();
+        for (List<String> list : split) {
+            List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(list);
+            if(CollectionUtil.isNotEmpty(deviceStatuses)){
+                for (BatchGetDeviceStateResponse.DeviceStatus d : deviceStatuses) {
+                    DeviceStatus deviceStatus = new DeviceStatus();
+                    deviceStatus.setDeviceCode(d.getDeviceName());
+                    deviceStatus.setStatus(DeviceStateEnum.getCode(d.getStatus()));
+                    statusList.add(deviceStatus);
+                }
+            }
+        }
+        return statusList;
+    }
 }

--
Gitblit v1.9.3