| | |
| | | import java.util.List; |
| | | import java.util.UUID; |
| | | |
| | | import com.genersoft.iot.vmp.conf.exception.ControllerException; |
| | | import com.genersoft.iot.vmp.gb28181.bean.Device; |
| | | import com.genersoft.iot.vmp.gb28181.bean.MobilePosition; |
| | | import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; |
| | |
| | | import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; |
| | | import com.genersoft.iot.vmp.service.IDeviceService; |
| | | import com.genersoft.iot.vmp.storager.IVideoManagerStorage; |
| | | import com.genersoft.iot.vmp.vmanager.bean.ErrorCode; |
| | | import com.genersoft.iot.vmp.vmanager.bean.WVPResult; |
| | | import com.github.pagehelper.util.StringUtil; |
| | | |
| | |
| | | @Parameter(name = "expires", description = "订阅超时时间", required = true) |
| | | @Parameter(name = "interval", description = "上报时间间隔", required = true) |
| | | @GetMapping("/subscribe/{deviceId}") |
| | | public String positionSubscribe(@PathVariable String deviceId, |
| | | public void positionSubscribe(@PathVariable String deviceId, |
| | | @RequestParam String expires, |
| | | @RequestParam String interval) { |
| | | String msg = ((expires.equals("0")) ? "取消" : "") + "订阅设备" + deviceId + "的移动位置"; |
| | | if (logger.isDebugEnabled()) { |
| | | logger.debug(msg); |
| | | } |
| | | |
| | | if (StringUtil.isEmpty(interval)) { |
| | | interval = "5"; |
| | |
| | | device.setSubscribeCycleForMobilePosition(Integer.parseInt(expires)); |
| | | device.setMobilePositionSubmissionInterval(Integer.parseInt(interval)); |
| | | deviceService.updateDevice(device); |
| | | String result = msg; |
| | | if (deviceService.removeMobilePositionSubscribe(device)) { |
| | | result += ",成功"; |
| | | } else { |
| | | result += ",失败"; |
| | | if (!deviceService.removeMobilePositionSubscribe(device)) { |
| | | throw new ControllerException(ErrorCode.ERROR100); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | } |