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