From db9bf7a442714ffa8cbe030cdf3db67bd534c601 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期六, 18 十一月 2023 14:28:46 +0800
Subject: [PATCH] 增加HTTP地磅协议实现

---
 src/main/java/com/fzzy/gateway/GatewayUtils.java |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/fzzy/gateway/GatewayUtils.java b/src/main/java/com/fzzy/gateway/GatewayUtils.java
index dbecd80..0de33a5 100644
--- a/src/main/java/com/fzzy/gateway/GatewayUtils.java
+++ b/src/main/java/com/fzzy/gateway/GatewayUtils.java
@@ -1,13 +1,15 @@
 package com.fzzy.gateway;
 
+import com.fzzy.api.data.GatewayDeviceType;
 import com.fzzy.gateway.entity.GatewayDevice;
+import org.springframework.stereotype.Component;
 
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 甯搁噺
  */
+@Component
 public class GatewayUtils {
 
 
@@ -27,10 +29,20 @@
      */
     public static Map<String, GatewayDevice> cacheMapDeviceSn = new HashMap<>();
 
+    /**
+     * 璁惧缂撳瓨-鍙拡瀵�
+     */
+    public static Map<String, GatewayDevice> cacheMapDeviceWeight = new HashMap<>();
+
 
     public static void add2Cache(GatewayDevice device) {
         cacheMapDeviceId.put(device.getDeviceId(), device);
         cacheMapDeviceSn.put(device.getDeviceSn(), device);
+
+        //淇濆瓨鍦扮
+        if (GatewayDeviceType.TYPE_01.getCode().equals(device.getType())) {
+            cacheMapDeviceWeight.put(device.getDeviceId(), device);
+        }
     }
 
     public static GatewayDevice getCacheByDeviceId(String deviceId) {
@@ -39,6 +51,21 @@
 
     public static GatewayDevice getCacheByDeviceSn(String deviceSn) {
         return cacheMapDeviceSn.get(deviceSn);
+    }
+
+    public static List<GatewayDevice> getCacheByDeviceType(String deviceType) {
+        List<GatewayDevice> result = new ArrayList<>();
+        for (GatewayDevice device : cacheMapDeviceId.values()) {
+            if (deviceType.equals(device.getType())) result.add(device);
+        }
+        return result;
+    }
+
+    public static GatewayDevice getCacheByDeviceTypeOne(String deviceType) {
+        for (GatewayDevice device : cacheMapDeviceId.values()) {
+            if (deviceType.equals(device.getType())) return device;
+        }
+        return null;
     }
 
 
@@ -60,4 +87,9 @@
         if (null == value || "N".equals(value)) return false;
         return true;
     }
+
+
+    public static Collection<GatewayDevice> listDeviceWeight(){
+        return cacheMapDeviceWeight.values();
+    }
 }

--
Gitblit v1.9.3