From 2b6156951c18ea9ff60ed5578db633cebbe99fa7 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 25 九月 2025 10:46:16 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/utils/DeviceMsgUtils.java |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/core/utils/DeviceMsgUtils.java b/src/main/java/com/zy/core/utils/DeviceMsgUtils.java
index f963dc4..6b0ed43 100644
--- a/src/main/java/com/zy/core/utils/DeviceMsgUtils.java
+++ b/src/main/java/com/zy/core/utils/DeviceMsgUtils.java
@@ -1,11 +1,13 @@
 package com.zy.core.utils;
 
-import com.core.exception.CoolException;
+import com.alibaba.fastjson.JSON;
+import com.zy.common.exception.CoolException;
 import com.zy.common.utils.RedisUtil;
 import com.zy.core.enums.RedisKeyType;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.DeviceCommandMsgModel;
 import com.zy.core.model.DeviceMsgModel;
+import com.zy.core.properties.DeviceConfig;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
@@ -20,9 +22,26 @@
 
     @Value("${deviceMsgConfig.destroyAfterReading}")
     private boolean destroyAfterReading;
-
+    @Value("${deviceMsgConfig.gatewayId}")
+    private Integer gatewayId;
     @Autowired
     private RedisUtil redisUtil;
+
+    public List<DeviceConfig> getDeviceConfig() {
+        List<DeviceConfig> list = new ArrayList<>();
+        Object obj = redisUtil.get(RedisKeyType.DEVICE_CONFIG.key);
+        if(null == obj){
+            return list;
+        }
+
+        List<DeviceConfig> deviceConfigs = JSON.parseArray(obj.toString(), DeviceConfig.class);
+        for (DeviceConfig deviceConfig : deviceConfigs) {
+            if(deviceConfig.getGatewayId().equals(gatewayId)){
+                list.add(deviceConfig);
+            }
+        }
+        return list;
+    }
 
     public DeviceCommandMsgModel getDeviceCommandMsg(SlaveType deviceType, Integer deviceId) {
         TreeSet<String> listKey = getDeviceCommandMsgListKey(deviceType, deviceId);
@@ -71,14 +90,18 @@
 
     public String sendDeviceMsg(SlaveType deviceType, Integer deviceId, DeviceMsgModel deviceMsgModel) {
         String key = parseDeviceMsgKey(deviceType, deviceId) + System.currentTimeMillis();
-        redisUtil.set(key, deviceMsgModel, 60 * 60 * 24);
+        redisUtil.set(key, deviceMsgModel, 60 * 60);
         return key;
     }
 
     public String sendDeviceCommand(SlaveType deviceType, Integer deviceId, DeviceCommandMsgModel command) {
         String key = parseDeviceCommandMsgKey(deviceType, deviceId) + System.currentTimeMillis();
-        redisUtil.set(key, command, 60 * 60 * 24);
+        redisUtil.set(key, command, 60 * 60);
         return key;
+    }
+
+    public void sendDeviceConfig(String allDevices) {
+        redisUtil.set(RedisKeyType.DEVICE_CONFIG.key,  allDevices);
     }
 
     public TreeSet<String> getDeviceMsgListKey(SlaveType deviceType, Integer deviceId) {
@@ -114,6 +137,8 @@
             return RedisKeyType.DEVICE_SHUTTLE_MSG_KEY_.key + deviceId + "_";
         } else if (deviceType.equals(SlaveType.ForkLift)) {
             return RedisKeyType.DEVICE_FORK_LIFT_MSG_KEY_.key + deviceId + "_";
+        } else if (deviceType.equals(SlaveType.Lift)) {
+            return RedisKeyType.DEVICE_LIFT_MSG_KEY_.key + deviceId + "_";
         }else {
             throw new CoolException("璁惧绫诲瀷鏈畾涔�");
         }
@@ -128,6 +153,8 @@
             return RedisKeyType.DEVICE_SHUTTLE_COMMAND_MSG_KEY.key + deviceId + "_";
         } else if (deviceType.equals(SlaveType.ForkLift)) {
             return RedisKeyType.DEVICE_FORK_LIFT_COMMAND_MSG_KEY.key + deviceId + "_";
+        } else if (deviceType.equals(SlaveType.Lift)) {
+            return RedisKeyType.DEVICE_LIFT_COMMAND_MSG_KEY.key + deviceId + "_";
         }else {
             throw new CoolException("璁惧绫诲瀷鏈畾涔�");
         }

--
Gitblit v1.9.1