From 38ab8fbd4355070def9e3b39f362731dd4dea6d1 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期三, 30 八月 2023 20:54:12 +0800
Subject: [PATCH] 优化设备状态解析

---
 igds-core/src/main/java/com/ld/igds/common/impl/CoreDeviceServiceImpl.java |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/igds-core/src/main/java/com/ld/igds/common/impl/CoreDeviceServiceImpl.java b/igds-core/src/main/java/com/ld/igds/common/impl/CoreDeviceServiceImpl.java
index ac4ab1b..6b53fb2 100644
--- a/igds-core/src/main/java/com/ld/igds/common/impl/CoreDeviceServiceImpl.java
+++ b/igds-core/src/main/java/com/ld/igds/common/impl/CoreDeviceServiceImpl.java
@@ -9,6 +9,7 @@
 import com.ld.igds.constant.DeviceStatus;
 import com.ld.igds.constant.DeviceType;
 
+import com.ld.igds.models.Depot;
 import lombok.extern.slf4j.Slf4j;
 
 import org.apache.commons.lang3.StringUtils;
@@ -112,6 +113,32 @@
         return list;
     }
 
+    @SuppressWarnings("unchecked")
+    @Override
+    public List<Device> getCacheDeviceByDepotId(String companyId, String depotId) {
+        String patten = RedisConst.buildKey(companyId, RedisConst.KEY_DEVICE_LIST);
+
+        Set<String> keys = redisUtil.keys(patten);
+        if (null == keys) return null;
+
+        List<Device> result = new ArrayList<>();
+        List<Device> list = new ArrayList<>();
+        for (String key : keys) {
+            list.addAll((List<Device>) redisUtil.get(key));
+        }
+
+        if (list.isEmpty()) {
+            return null;
+        }
+
+        for (Device device : list) {
+            if(depotId.equals(device.getDepotId())){
+                result.add(device);
+            }
+        }
+        return result;
+    }
+
     @Override
     public Device getCacheDeviceById(String companyId, String id) {
         String key = RedisConst.buildDeviceKey(companyId, RedisConst.KEY_DEVICE, id);

--
Gitblit v1.9.3