From 6120e6bd7b74669683ae4f184a71a94fa0036ce7 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 04 一月 2024 17:26:47 +0800
Subject: [PATCH] 添加金仓数据库x86驱动,优化兼容接口通道列表查询。修复多个通道同时推送

---
 src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 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 7b59f7f..688fc80 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
@@ -68,6 +68,7 @@
 //        if (logger.isDebugEnabled()) {
 //            logger.debug("鏌ヨ鎵�鏈夎棰戣澶嘇PI璋冪敤");
 //        }
+
         JSONObject result = new JSONObject();
         List<Device> devices;
         if (start == null || limit ==null) {
@@ -80,7 +81,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());
@@ -99,7 +100,7 @@
             deviceJsonObject.put("UpdatedAt", "");
             deviceJsonObject.put("CreatedAt", "");
             deviceJSONList.add(deviceJsonObject);
-        }
+        });
         result.put("DeviceList",deviceJSONList);
         return result;
     }
@@ -114,7 +115,6 @@
                                    @RequestParam(required = false)String q,
                                    @RequestParam(required = false)Boolean online ){
 
-
         JSONObject result = new JSONObject();
         List<DeviceChannelExtend> deviceChannels;
         List<String> channelIds = null;
@@ -127,13 +127,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());
@@ -166,7 +172,7 @@
             deviceJOSNChannel.put("StreamID", deviceChannelExtend.getStreamId()); // StreamID 鐩存挱娴両D, 鏈夊�艰〃绀烘鍦ㄧ洿鎾�
             deviceJOSNChannel.put("NumOutputs ", -1); // 鐩存挱鍦ㄧ嚎浜烘暟
             channleJSONList.add(deviceJOSNChannel);
-        }
+        });
         result.put("ChannelList", channleJSONList);
         return result;
     }

--
Gitblit v1.8.0