From cefdce5e0a34743e6d9784f858265120e75179a1 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 08 三月 2023 14:46:18 +0800 Subject: [PATCH] 优化兼容接口 --- src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java | 70 +++++++++++++++++++--------------- 1 files changed, 39 insertions(+), 31 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 57c7979..9998960 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 @@ -3,15 +3,17 @@ import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.genersoft.iot.vmp.gb28181.bean.Device; -import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.service.IDeviceService; import com.genersoft.iot.vmp.storager.IVideoManagerStorage; +import com.genersoft.iot.vmp.web.gb28181.dto.DeviceChannelExtend; import com.github.pagehelper.PageInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import java.util.Arrays; import java.util.List; @@ -96,8 +98,8 @@ @RequestMapping(value = "/channellist") public JSONObject channellist( String serial, - @RequestParam(required = false)String code, @RequestParam(required = false)String channel_type, + @RequestParam(required = false)String code , @RequestParam(required = false)String dir_serial , @RequestParam(required = false)Integer start, @RequestParam(required = false)Integer limit, @@ -109,54 +111,60 @@ // } JSONObject result = new JSONObject(); // 鏌ヨ璁惧鏄惁瀛樺湪 - List<DeviceChannel> deviceChannels; +// 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)) { String[] split = code.trim().split(","); channelIds = Arrays.asList(split); } - List<DeviceChannel> allDeviceChannelList = storager.queryChannelsByDeviceId(serial,online,channelIds); + List<DeviceChannelExtend> allDeviceChannelList = storager.queryChannelsByDeviceId(serial,channelIds,online); if (start == null || limit ==null) { deviceChannels = allDeviceChannelList; result.put("ChannelCount", deviceChannels.size()); }else { - deviceChannels = storager.queryChannelsByDeviceIdWithStartAndLimit(serial, null, null, online,start, limit,channelIds); + deviceChannels = storager.queryChannelsByDeviceIdWithStartAndLimit(serial,channelIds, null, null, online,start, limit); int total = allDeviceChannelList.size(); result.put("ChannelCount", total); } JSONArray channleJSONList = new JSONArray(); - for (DeviceChannel deviceChannel : deviceChannels) { + for (DeviceChannelExtend deviceChannelExtend : deviceChannels) { JSONObject deviceJOSNChannel = new JSONObject(); - deviceJOSNChannel.put("ID", deviceChannel.getChannelId()); - deviceJOSNChannel.put("DeviceID", device.getDeviceId()); - deviceJOSNChannel.put("DeviceName", device.getName()); - deviceJOSNChannel.put("DeviceOnline", device.getOnline() == 1); - deviceJOSNChannel.put("Channel", 0); // 鑷畾涔夊簭鍙� - deviceJOSNChannel.put("Name", deviceChannel.getName()); + deviceJOSNChannel.put("ID", deviceChannelExtend.getChannelId()); + deviceJOSNChannel.put("DeviceID", deviceChannelExtend.getDeviceId()); + deviceJOSNChannel.put("DeviceName", deviceChannelExtend.getDeviceName()); + deviceJOSNChannel.put("DeviceOnline", deviceChannelExtend.getDeviceOnline() == 1); + deviceJOSNChannel.put("Channel", 0); // TODO 鑷畾涔夊簭鍙� + deviceJOSNChannel.put("Name", deviceChannelExtend.getName()); deviceJOSNChannel.put("Custom", false); deviceJOSNChannel.put("CustomName", ""); - deviceJOSNChannel.put("SubCount", deviceChannel.getSubCount()); // 瀛愯妭鐐规暟, SubCount > 0 琛ㄧず璇ラ�氶亾涓哄瓙鐩綍 + deviceJOSNChannel.put("SubCount", deviceChannelExtend.getSubCount()); // TODO ? 瀛愯妭鐐规暟, SubCount > 0 琛ㄧず璇ラ�氶亾涓哄瓙鐩綍 deviceJOSNChannel.put("SnapURL", ""); - deviceJOSNChannel.put("Manufacturer ", deviceChannel.getManufacture()); - deviceJOSNChannel.put("Model", deviceChannel.getModel()); - deviceJOSNChannel.put("Owner", deviceChannel.getOwner()); - deviceJOSNChannel.put("CivilCode", deviceChannel.getCivilCode()); - deviceJOSNChannel.put("Address", deviceChannel.getAddress()); - deviceJOSNChannel.put("Parental", deviceChannel.getParental()); // 褰撲负閫氶亾璁惧鏃�, 鏄惁鏈夐�氶亾瀛愯澶�, 1-鏈�,0-娌℃湁 - deviceJOSNChannel.put("ParentID", deviceChannel.getParentId()); // 鐩存帴涓婄骇缂栧彿 - deviceJOSNChannel.put("Secrecy", deviceChannel.getSecrecy()); + deviceJOSNChannel.put("Manufacturer ", deviceChannelExtend.getManufacture()); + deviceJOSNChannel.put("Model", deviceChannelExtend.getModel()); + deviceJOSNChannel.put("Owner", deviceChannelExtend.getOwner()); + deviceJOSNChannel.put("CivilCode", deviceChannelExtend.getCivilCode()); + deviceJOSNChannel.put("Address", deviceChannelExtend.getAddress()); + deviceJOSNChannel.put("Parental", deviceChannelExtend.getParental()); // 褰撲负閫氶亾璁惧鏃�, 鏄惁鏈夐�氶亾瀛愯澶�, 1-鏈�,0-娌℃湁 + deviceJOSNChannel.put("ParentID", deviceChannelExtend.getParentId()); // 鐩存帴涓婄骇缂栧彿 + deviceJOSNChannel.put("Secrecy", deviceChannelExtend.getSecrecy()); deviceJOSNChannel.put("RegisterWay", 1); // 娉ㄥ唽鏂瑰紡, 缂虹渷涓�1, 鍏佽鍊�: 1, 2, 3 - // 1-IETF RFC3261, - // 2-鍩轰簬鍙d护鐨勫弻鍚戣璇�, - // 3-鍩轰簬鏁板瓧璇佷功鐨勫弻鍚戣璇� - deviceJOSNChannel.put("Status", deviceChannel.getStatus() == 1 ? "ON":"OFF"); - deviceJOSNChannel.put("Longitude", deviceChannel.getLongitude()); - deviceJOSNChannel.put("Latitude", deviceChannel.getLatitude()); - deviceJOSNChannel.put("PTZType ", deviceChannel.getPTZType()); // 浜戝彴绫诲瀷, 0 - 鏈煡, 1 - 鐞冩満, 2 - 鍗婄悆, - // 3 - 鍥哄畾鏋満, 4 - 閬ユ帶鏋満 + // 1-IETF RFC3261, + // 2-鍩轰簬鍙d护鐨勫弻鍚戣璇�, + // 3-鍩轰簬鏁板瓧璇佷功鐨勫弻鍚戣璇� + deviceJOSNChannel.put("Status", deviceChannelExtend.getStatus() == 1 ? "ON":"OFF"); + deviceJOSNChannel.put("Longitude", deviceChannelExtend.getLongitude()); + deviceJOSNChannel.put("Latitude", deviceChannelExtend.getLatitude()); + deviceJOSNChannel.put("PTZType ", deviceChannelExtend.getPTZType()); // 浜戝彴绫诲瀷, 0 - 鏈煡, 1 - 鐞冩満, 2 - 鍗婄悆, + // 3 - 鍥哄畾鏋満, 4 - 閬ユ帶鏋満 deviceJOSNChannel.put("CustomPTZType", ""); - deviceJOSNChannel.put("StreamID", deviceChannel.getStreamId()); // StreamID 鐩存挱娴両D, 鏈夊�艰〃绀烘鍦ㄧ洿鎾� + deviceJOSNChannel.put("StreamID", deviceChannelExtend.getStreamId()); // StreamID 鐩存挱娴両D, 鏈夊�艰〃绀烘鍦ㄧ洿鎾� deviceJOSNChannel.put("NumOutputs ", -1); // 鐩存挱鍦ㄧ嚎浜烘暟 channleJSONList.add(deviceJOSNChannel); } -- Gitblit v1.8.0