From df11956c3c203434d3ef54955a502c466f1382dd Mon Sep 17 00:00:00 2001 From: 64850858 <648540858@qq.com> Date: 星期一, 07 六月 2021 15:42:01 +0800 Subject: [PATCH] 取出错误配置 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java index a21ce59..1842efe 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java @@ -2,6 +2,7 @@ import java.io.ByteArrayInputStream; import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; import javax.sip.address.SipURI; @@ -226,7 +227,7 @@ String name = rootElement.getName(); Element deviceIdElement = rootElement.element("DeviceID"); String deviceId = deviceIdElement.getText(); - + Device device = storager.queryVideoDevice(deviceId); if (name.equalsIgnoreCase("Query")) { // 鍖哄垎鏄疪esponse鈥斺�旀煡璇㈠搷搴旓紝杩樻槸Query鈥斺�旀煡璇㈣姹� logger.info("鎺ユ敹鍒癉eviceStatus鏌ヨ娑堟伅"); FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME); @@ -259,7 +260,7 @@ deferredResultHolder.invokeResult(msg); if (offLineDetector.isOnline(deviceId)) { - publisher.onlineEventPublish(deviceId, VideoManagerConstants.EVENT_ONLINE_KEEPLIVE); + publisher.onlineEventPublish(device, VideoManagerConstants.EVENT_ONLINE_MESSAGE); } else { } } @@ -452,6 +453,7 @@ String requestName = rootElement.getName(); Element deviceIdElement = rootElement.element("DeviceID"); String deviceId = deviceIdElement.getTextTrim().toString(); + Device device = storager.queryVideoDevice(deviceId); if (requestName.equals("Query")) { logger.info("鎺ユ敹鍒癉eviceInfo鏌ヨ娑堟伅"); FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME); @@ -468,7 +470,6 @@ } } else { logger.debug("鎺ユ敹鍒癉eviceInfo搴旂瓟娑堟伅"); - Device device = storager.queryVideoDevice(deviceId); if (device == null) { return; } @@ -489,7 +490,7 @@ // 鍥炲200 OK responseAck(evt); if (offLineDetector.isOnline(deviceId)) { - publisher.onlineEventPublish(deviceId, VideoManagerConstants.EVENT_ONLINE_KEEPLIVE); + publisher.onlineEventPublish(device, VideoManagerConstants.EVENT_ONLINE_MESSAGE); } } } catch (DocumentException | SipException | InvalidArgumentException | ParseException e) { @@ -669,7 +670,7 @@ // 鍥炲200 OK responseAck(evt); if (offLineDetector.isOnline(deviceId)) { - publisher.onlineEventPublish(deviceId, VideoManagerConstants.EVENT_ONLINE_KEEPLIVE); + publisher.onlineEventPublish(device, VideoManagerConstants.EVENT_ONLINE_MESSAGE); } } } @@ -770,14 +771,19 @@ try { Element rootElement = getRootElement(evt); String deviceId = XmlUtil.getText(rootElement, "DeviceID"); - // 妫�鏌ヨ澶囨槸鍚﹀瓨鍦紝 涓嶅瓨鍦ㄥ垯涓嶅洖澶� - if (storager.exists(deviceId)) { + Device device = storager.queryVideoDevice(deviceId); + // 妫�鏌ヨ澶囨槸鍚﹀瓨鍦ㄥ苟鍦ㄧ嚎锛� 涓嶅瓨鍦ㄥ垯涓嶅洖澶� + if (device != null && device.getOnline() == 1) { // 鍥炲200 OK responseAck(evt); if (offLineDetector.isOnline(deviceId)) { - publisher.onlineEventPublish(deviceId, VideoManagerConstants.EVENT_ONLINE_KEEPLIVE); + publisher.onlineEventPublish(device, VideoManagerConstants.EVENT_ONLINE_KEEPLIVE); } else { } + }else { + logger.warn("鏀跺埌[ "+deviceId+" ]蹇冭烦淇℃伅, 浣嗘槸璁惧" + (device == null? "涓嶅瓨鍦�":"绂荤嚎") + ", 鍥炲401"); + Response response = getMessageFactory().createResponse(Response.UNAUTHORIZED, evt.getRequest()); + getServerTransaction(evt).sendResponse(response); } } catch (ParseException | SipException | InvalidArgumentException | DocumentException e) { e.printStackTrace(); -- Gitblit v1.8.0