| | |
| | | package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl; |
| | | |
| | | import com.genersoft.iot.vmp.common.VideoManagerConstants; |
| | | import com.genersoft.iot.vmp.conf.SipConfig; |
| | | import com.genersoft.iot.vmp.conf.UserSetup; |
| | | import com.genersoft.iot.vmp.gb28181.bean.*; |
| | | import com.genersoft.iot.vmp.gb28181.event.DeviceOffLineDetector; |
| | |
| | | private IVideoManagerStorager storager; |
| | | |
| | | @Autowired |
| | | private SipConfig sipConfig; |
| | | |
| | | @Autowired |
| | | private IRedisCatchStorage redisCatchStorage; |
| | | |
| | | @Autowired |
| | |
| | | @Autowired |
| | | private DeviceOffLineDetector offLineDetector; |
| | | |
| | | private static final String NOTIFY_CATALOG = "Catalog"; |
| | | private static final String NOTIFY_ALARM = "Alarm"; |
| | | private static final String NOTIFY_MOBILE_POSITION = "MobilePosition"; |
| | | |
| | | private String method = "NOTIFY"; |
| | | |
| | | @Autowired |
| | |
| | | Element rootElement = getRootElement(evt); |
| | | String cmd = XmlUtil.getText(rootElement, "CmdType"); |
| | | |
| | | if (NOTIFY_CATALOG.equals(cmd)) { |
| | | if (CmdType.CATALOG.equals(cmd)) { |
| | | logger.info("接收到Catalog通知"); |
| | | processNotifyCatalogList(evt); |
| | | } else if (NOTIFY_ALARM.equals(cmd)) { |
| | | } else if (CmdType.ALARM.equals(cmd)) { |
| | | logger.info("接收到Alarm通知"); |
| | | processNotifyAlarm(evt); |
| | | } else if (NOTIFY_MOBILE_POSITION.equals(cmd)) { |
| | | } else if (CmdType.MOBILE_POSITION.equals(cmd)) { |
| | | logger.info("接收到MobilePosition通知"); |
| | | processNotifyMobilePosition(evt); |
| | | } else { |
| | |
| | | MobilePosition mobilePosition = new MobilePosition(); |
| | | Element deviceIdElement = rootElement.element("DeviceID"); |
| | | String deviceId = deviceIdElement.getTextTrim().toString(); |
| | | Device device = storager.queryVideoDevice(deviceId); |
| | | Device device = redisCatchStorage.getDevice(deviceId); |
| | | if (device != null) { |
| | | if (!StringUtils.isEmpty(device.getName())) { |
| | | mobilePosition.setDeviceName(device.getName()); |
| | |
| | | * @param evt |
| | | */ |
| | | private void processNotifyAlarm(RequestEvent evt) { |
| | | if (!sipConfig.isAlarm()) { |
| | | return; |
| | | } |
| | | try { |
| | | Element rootElement = getRootElement(evt); |
| | | Element deviceIdElement = rootElement.element("DeviceID"); |
| | | String deviceId = deviceIdElement.getText().toString(); |
| | | |
| | | Device device = storager.queryVideoDevice(deviceId); |
| | | Device device = redisCatchStorage.getDevice(deviceId); |
| | | if (device == null) { |
| | | return; |
| | | } |
| | |
| | | String deviceId = SipUtils.getUserIdFromFromHeader(fromHeader); |
| | | |
| | | Element rootElement = getRootElement(evt); |
| | | Device device = storager.queryVideoDevice(deviceId); |
| | | Device device = redisCatchStorage.getDevice(deviceId); |
| | | if (device == null) { |
| | | return; |
| | | } |