Commit 26ca854db578b11d2dbcc475cf475c314cb08ba6

Authored by lishuyuan
1 parent 2bb7e236

bugfix:去掉目录订阅通知处理重复逻辑代码

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
... ... @@ -132,7 +132,6 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
132 132  
133 133 if (CmdType.CATALOG.equals(cmd)) {
134 134 logger.info("接收到Catalog通知");
135   - processNotifyCatalogList(take.getEvt());
136 135 notifyRequestForCatalogProcessor.process(take.getEvt());
137 136 } else if (CmdType.ALARM.equals(cmd)) {
138 137 logger.info("接收到Alarm通知");
... ... @@ -371,114 +370,6 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
371 370 }
372 371 }
373 372  
374   - /***
375   - * 处理catalog设备目录列表Notify
376   - *
377   - * @param evt
378   - */
379   - private void processNotifyCatalogList(RequestEvent evt) {
380   - try {
381   - FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
382   - String deviceId = SipUtils.getUserIdFromFromHeader(fromHeader);
383   -
384   - Device device = redisCatchStorage.getDevice(deviceId);
385   - if (device == null || !device.isOnLine()) {
386   - logger.warn("[收到目录订阅]:{}, 但是设备已经离线", (device != null ? device.getDeviceId():"" ));
387   - return;
388   - }
389   - Element rootElement = getRootElement(evt, device.getCharset());
390   - if (rootElement == null) {
391   - logger.warn("[ 收到目录订阅 ] content cannot be null, {}", evt.getRequest());
392   - return;
393   - }
394   - Element deviceListElement = rootElement.element("DeviceList");
395   - if (deviceListElement == null) {
396   - return;
397   - }
398   - Iterator<Element> deviceListIterator = deviceListElement.elementIterator();
399   - if (deviceListIterator != null) {
400   -
401   - // 遍历DeviceList
402   - while (deviceListIterator.hasNext()) {
403   - Element itemDevice = deviceListIterator.next();
404   - Element channelDeviceElement = itemDevice.element("DeviceID");
405   - if (channelDeviceElement == null) {
406   - continue;
407   - }
408   - Element eventElement = itemDevice.element("Event");
409   - String event;
410   - if (eventElement == null) {
411   - logger.warn("[收到目录订阅]:{}, 但是Event为空, 设为默认值 ADD", (device != null ? device.getDeviceId():"" ));
412   - event = CatalogEvent.ADD;
413   - }else {
414   - event = eventElement.getText().toUpperCase();
415   - }
416   - DeviceChannel channel = XmlUtil.channelContentHandler(itemDevice, device, event, civilCodeFileConf);
417   - if (channel == null) {
418   - logger.info("[收到目录订阅]:但是解析失败 {}", new String(evt.getRequest().getRawContent()));
419   - continue;
420   - }
421   - if (channel.getParentId() != null && channel.getParentId().equals(sipConfig.getId())) {
422   - channel.setParentId(null);
423   - }
424   - channel.setDeviceId(device.getDeviceId());
425   - logger.info("[收到目录订阅]:{}/{}", device.getDeviceId(), channel.getChannelId());
426   - switch (event) {
427   - case CatalogEvent.ON:
428   - // 上线
429   - logger.info("[收到通道上线通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
430   - storager.deviceChannelOnline(deviceId, channel.getChannelId());
431   - break;
432   - case CatalogEvent.OFF :
433   - // 离线
434   - logger.info("[收到通道离线通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
435   - if (userSetting.getRefuseChannelStatusChannelFormNotify()) {
436   - storager.deviceChannelOffline(deviceId, channel.getChannelId());
437   - }else {
438   - logger.info("[收到通道离线通知] 但是平台已配置拒绝此消息,来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
439   - }
440   - break;
441   - case CatalogEvent.VLOST:
442   - // 视频丢失
443   - logger.info("[收到通道视频丢失通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
444   - if (userSetting.getRefuseChannelStatusChannelFormNotify()) {
445   - storager.deviceChannelOffline(deviceId, channel.getChannelId());
446   - }else {
447   - logger.info("[收到通道视频丢失通知] 但是平台已配置拒绝此消息,来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
448   - }
449   - break;
450   - case CatalogEvent.DEFECT:
451   - // 故障
452   - break;
453   - case CatalogEvent.ADD:
454   - // 增加
455   - logger.info("[收到增加通道通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
456   - deviceChannelService.updateChannel(deviceId, channel);
457   - break;
458   - case CatalogEvent.DEL:
459   - // 删除
460   - logger.info("[收到删除通道通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
461   - storager.delChannel(deviceId, channel.getChannelId());
462   - break;
463   - case CatalogEvent.UPDATE:
464   - // 更新
465   - logger.info("[收到更新通道通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
466   - deviceChannelService.updateChannel(deviceId, channel);
467   - break;
468   - default:
469   - logger.warn("[ NotifyCatalog ] event not found : {}", event );
470   -
471   - }
472   - // 转发变化信息
473   - eventPublisher.catalogEventPublish(null, channel, event);
474   -
475   - }
476   - }
477   - } catch (DocumentException e) {
478   - logger.error("未处理的异常 ", e);
479   - }
480   - }
481   -
482 373 public void setCmder(SIPCommander cmder) {
483 374 }
484 375  
... ...