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