From 1de344674afd6bb35b51b165bbad76dbe6299b7e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 28 三月 2024 18:08:33 +0800
Subject: [PATCH] 使用冒号分隔redis的key

---
 src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java |   43 ++++++++++++++++++++-----------------------
 1 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java
index d8c2093..df2c9a2 100644
--- a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java
+++ b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java
@@ -18,7 +18,7 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.ObjectUtils;
-import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -60,7 +60,7 @@
      * @param online
      * @return
      */
-    @RequestMapping(value = "/list")
+    @GetMapping(value = "/list")
     public JSONObject list( @RequestParam(required = false)Integer start,
                             @RequestParam(required = false)Integer limit,
                             @RequestParam(required = false)String q,
@@ -69,6 +69,7 @@
 //        if (logger.isDebugEnabled()) {
 //            logger.debug("鏌ヨ鎵�鏈夎棰戣澶嘇PI璋冪敤");
 //        }
+
         JSONObject result = new JSONObject();
         List<Device> devices;
         if (start == null || limit ==null) {
@@ -81,7 +82,7 @@
         }
 
         JSONArray deviceJSONList = new JSONArray();
-        for (Device device : devices) {
+        devices.stream().forEach(device -> {
             JSONObject deviceJsonObject = new JSONObject();
             deviceJsonObject.put("ID", device.getDeviceId());
             deviceJsonObject.put("Name", device.getName());
@@ -100,12 +101,12 @@
             deviceJsonObject.put("UpdatedAt", "");
             deviceJsonObject.put("CreatedAt", "");
             deviceJSONList.add(deviceJsonObject);
-        }
+        });
         result.put("DeviceList",deviceJSONList);
         return result;
     }
 
-    @RequestMapping(value = "/channellist")
+    @GetMapping(value = "/channellist")
     public JSONObject channellist( String serial,
                                    @RequestParam(required = false)String channel_type,
                                    @RequestParam(required = false)String code ,
@@ -115,20 +116,10 @@
                                    @RequestParam(required = false)String q,
                                    @RequestParam(required = false)Boolean online ){
 
-//        if (logger.isDebugEnabled()) {
-//            logger.debug("鏌ヨ鎵�鏈夎棰戣澶嘇PI璋冪敤");
-//        }
         JSONObject result = new JSONObject();
-        // 鏌ヨ璁惧鏄惁瀛樺湪
-//        Device device = storager.queryVideoDevice(serial);
-//        if (device == null) {
-//            result.put("ChannelCount", 0);
-//            result.put("ChannelList", "[]");
-//            return result;
-//        }
         List<DeviceChannelExtend> deviceChannels;
         List<String> channelIds = null;
-        if (!StringUtils.isEmpty(code)) {
+        if (!ObjectUtils.isEmpty(code)) {
             String[] split = code.trim().split(",");
             channelIds = Arrays.asList(split);
         }
@@ -137,13 +128,19 @@
             deviceChannels = allDeviceChannelList;
             result.put("ChannelCount", deviceChannels.size());
         }else {
-            deviceChannels = storager.queryChannelsByDeviceIdWithStartAndLimit(serial,channelIds, null, null, online,start, limit);
-            int total = allDeviceChannelList.size();
-            result.put("ChannelCount", total);
+            if (start > allDeviceChannelList.size()) {
+                deviceChannels = new ArrayList<>();
+            }else {
+                if (start + limit < allDeviceChannelList.size()) {
+                    deviceChannels = allDeviceChannelList.subList(start, start + limit);
+                }else {
+                    deviceChannels = allDeviceChannelList.subList(start, allDeviceChannelList.size());
+                }
+            }
+            result.put("ChannelCount", allDeviceChannelList.size());
         }
-
         JSONArray channleJSONList = new JSONArray();
-        for (DeviceChannelExtend deviceChannelExtend : deviceChannels) {
+        deviceChannels.stream().forEach(deviceChannelExtend -> {
             JSONObject deviceJOSNChannel = new JSONObject();
             deviceJOSNChannel.put("ID", deviceChannelExtend.getChannelId());
             deviceJOSNChannel.put("DeviceID", deviceChannelExtend.getDeviceId());
@@ -176,7 +173,7 @@
             deviceJOSNChannel.put("StreamID", deviceChannelExtend.getStreamId()); // StreamID 鐩存挱娴両D, 鏈夊�艰〃绀烘鍦ㄧ洿鎾�
             deviceJOSNChannel.put("NumOutputs ", -1); // 鐩存挱鍦ㄧ嚎浜烘暟
             channleJSONList.add(deviceJOSNChannel);
-        }
+        });
         result.put("ChannelList", channleJSONList);
         return result;
     }
@@ -190,7 +187,7 @@
      * @param timeout 瓒呮椂鏃堕棿(绉�) 榛樿鍊�: 15
      * @return
      */
-    @RequestMapping(value = "/fetchpreset")
+    @GetMapping(value = "/fetchpreset")
     private DeferredResult<Object>  list(String serial,
                       @RequestParam(required = false)Integer channel,
                       @RequestParam(required = false)String code,

--
Gitblit v1.8.0