| | |
| | | package com.genersoft.iot.vmp.web; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.genersoft.iot.vmp.common.PageResult; |
| | | import com.genersoft.iot.vmp.gb28181.bean.Device; |
| | | import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; |
| | | import com.genersoft.iot.vmp.gb28181.event.DeviceOffLineDetector; |
| | | import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; |
| | | import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; |
| | | import com.genersoft.iot.vmp.storager.IVideoManagerStorager; |
| | | import com.genersoft.iot.vmp.vmanager.device.DeviceController; |
| | | import com.github.pagehelper.PageInfo; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 兼容LiveGBS的API:设备信息 |
| | | * API兼容:设备信息 |
| | | */ |
| | | @SuppressWarnings("unchecked") |
| | | @CrossOrigin |
| | | @RestController |
| | | @RequestMapping(value = "/api/v1/device") |
| | |
| | | @Autowired |
| | | private IVideoManagerStorager storager; |
| | | |
| | | @Autowired |
| | | private SIPCommander cmder; |
| | | // @Autowired |
| | | // private SIPCommander cmder; |
| | | |
| | | @Autowired |
| | | private DeferredResultHolder resultHolder; |
| | | // @Autowired |
| | | // private DeferredResultHolder resultHolder; |
| | | |
| | | @Autowired |
| | | private DeviceOffLineDetector offLineDetector; |
| | | // @Autowired |
| | | // private DeviceOffLineDetector offLineDetector; |
| | | |
| | | /** |
| | | * 分页获取设备列表 TODO 现在直接返回,尚未实现分页 |
| | |
| | | @RequestParam(required = false)String q, |
| | | @RequestParam(required = false)Boolean online ){ |
| | | |
| | | if (logger.isDebugEnabled()) { |
| | | logger.debug("查询所有视频设备API调用"); |
| | | } |
| | | |
| | | logger.debug("查询所有视频设备API调用"); |
| | | // if (logger.isDebugEnabled()) { |
| | | // logger.debug("查询所有视频设备API调用"); |
| | | // } |
| | | JSONObject result = new JSONObject(); |
| | | List<Device> devices; |
| | | if (start == null || limit ==null) { |
| | | devices = storager.queryVideoDeviceList(null); |
| | | devices = storager.queryVideoDeviceList(); |
| | | result.put("DeviceCount", devices.size()); |
| | | }else { |
| | | PageResult<Device> deviceList = storager.queryVideoDeviceList(null, start/limit, limit); |
| | | PageInfo<Device> deviceList = storager.queryVideoDeviceList(start/limit, limit); |
| | | result.put("DeviceCount", deviceList.getTotal()); |
| | | devices = deviceList.getData(); |
| | | devices = deviceList.getList(); |
| | | } |
| | | |
| | | JSONArray deviceJSONList = new JSONArray(); |
| | |
| | | deviceJsonObject.put("Online", device.getOnline() == 1); |
| | | deviceJsonObject.put("Password", ""); |
| | | deviceJsonObject.put("MediaTransport", device.getTransport()); |
| | | deviceJsonObject.put("RemoteIP", device.getHost().getIp()); |
| | | deviceJsonObject.put("RemotePort", device.getHost().getPort()); |
| | | deviceJsonObject.put("RemoteIP", device.getIp()); |
| | | deviceJsonObject.put("RemotePort", device.getPort()); |
| | | deviceJsonObject.put("LastRegisterAt", ""); |
| | | deviceJsonObject.put("LastKeepaliveAt", ""); |
| | | deviceJsonObject.put("UpdatedAt", ""); |
| | |
| | | @RequestParam(required = false)String q, |
| | | @RequestParam(required = false)Boolean online ){ |
| | | |
| | | if (logger.isDebugEnabled()) { |
| | | logger.debug("查询所有视频设备API调用"); |
| | | } |
| | | // if (logger.isDebugEnabled()) { |
| | | // logger.debug("查询所有视频设备API调用"); |
| | | // } |
| | | JSONObject result = new JSONObject(); |
| | | // 查询设备是否存在 |
| | | Device device = storager.queryVideoDevice(serial); |
| | |
| | | deviceChannels = storager.queryChannelsByDeviceId(serial); |
| | | result.put("ChannelCount", deviceChannels.size()); |
| | | }else { |
| | | PageResult<DeviceChannel> pageResult = storager.queryChannelsByDeviceId(serial, null, null, null,start/limit, limit); |
| | | PageInfo<DeviceChannel> pageResult = storager.queryChannelsByDeviceId(serial, null, null, null,start/limit, limit); |
| | | result.put("ChannelCount", pageResult.getTotal()); |
| | | deviceChannels = pageResult.getData(); |
| | | deviceChannels = pageResult.getList(); |
| | | } |
| | | |
| | | JSONArray channleJSONList = new JSONArray(); |