From c33bf822cce59667be80ba0bb45499498501d161 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 04 十一月 2021 15:56:24 +0800
Subject: [PATCH] 修复级联的通道查询以及设备信息查询
---
src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java | 3 +++
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java | 2 +-
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java | 1 +
src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java | 4 +++-
src/main/resources/wvp.sqlite | 0
src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformNotRegisterEventLister.java | 2 +-
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java | 30 ++++++++++++------------------
src/main/resources/application.yml | 2 +-
8 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java
index 270fb36..f2150e5 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/online/OnlineEventListener.java
@@ -74,5 +74,8 @@
device.setOnline(1);
// 澶勭悊涓婄嚎鐩戝惉
storager.updateDevice(device);
+
+ // TODO 涓婄嚎娣诲姞璁㈤槄
+
}
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformNotRegisterEventLister.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformNotRegisterEventLister.java
index 0b4bc88..ea79e34 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformNotRegisterEventLister.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformNotRegister/PlatformNotRegisterEventLister.java
@@ -100,6 +100,6 @@
logger.info("鍐嶆鍚戝钩鍙版敞鍐岋紝骞冲彴鍥芥爣ID锛�" + event.getPlatformGbID());
sipCommanderFroPlatform.register(parentPlatform, null, okEvent);
}
- }, config.getRegisterTimeInterval(), config.getRegisterTimeInterval());//鍗佷簲绉掑悗鍐嶆鍙戣捣娉ㄥ唽
+ }, config.getRegisterTimeInterval()* 1000, config.getRegisterTimeInterval()* 1000);//鍗佷簲绉掑悗鍐嶆鍙戣捣娉ㄥ唽
}
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
index 06ae3d8..a2bda77 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
@@ -35,7 +35,7 @@
@SuppressWarnings("rawtypes")
public class InviteRequestProcessor extends SIPRequestAbstractProcessor {
- private final static Logger logger = LoggerFactory.getLogger(MessageRequestProcessor.class);
+ private final static Logger logger = LoggerFactory.getLogger(InviteRequestProcessor.class);
private SIPCommanderFroPlatform cmderFroPlatform;
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 285ccd3..ae01a70 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
@@ -492,11 +492,8 @@
String deviceId = SipUtils.getUserIdFromFromHeader(evt.getRequest());
// 鏌ヨ璁惧鏄惁瀛樺湪
Device device = storager.queryVideoDevice(deviceId);
- if (device == null) {
- logger.warn("澶勭悊DeviceInfo璁惧淇℃伅Message鏃舵湭鎵惧埌璁惧淇℃伅");
- response404Ack(evt);
- return;
- }
+ ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(deviceId);
+
Element rootElement = getRootElement(evt);
String requestName = rootElement.getName();
Element deviceIdElement = rootElement.element("DeviceID");
@@ -508,20 +505,20 @@
if (requestName.equals("Query")) {
logger.info("鎺ユ敹鍒癉eviceInfo鏌ヨ娑堟伅");
FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
- String platformId = ((SipUri) fromHeader.getAddress().getURI()).getUser();
- if (platformId == null) {
+ if (parentPlatform == null) {
response404Ack(evt);
return;
} else {
// 鍥炲200 OK
responseAck(evt);
String sn = rootElement.element("SN").getText();
- ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId);
cmderFroPlatform.deviceInfoResponse(parentPlatform, sn, fromHeader.getTag());
}
} else {
logger.debug("鎺ユ敹鍒癉eviceInfo搴旂瓟娑堟伅");
if (device == null) {
+ logger.warn("澶勭悊DeviceInfo璁惧淇℃伅Message鏃舵湭鎵惧埌璁惧淇℃伅");
+ response404Ack(evt);
return;
}
@@ -561,11 +558,8 @@
String deviceId = SipUtils.getUserIdFromFromHeader(evt.getRequest());
// 鏌ヨ璁惧鏄惁瀛樺湪
Device device = storager.queryVideoDevice(deviceId);
- if (device == null) {
- logger.warn("澶勭悊DeviceInfo璁惧淇℃伅Message鏃舵湭鎵惧埌璁惧淇℃伅");
- response404Ack(evt);
- return;
- }
+ ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(deviceId);
+
Element rootElement = getRootElement(evt);
String name = rootElement.getName();
@@ -574,13 +568,8 @@
Element deviceListElement = rootElement.element("DeviceList");
String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + deviceId;
FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
- AddressImpl address = (AddressImpl) fromHeader.getAddress();
- SipUri uri = (SipUri) address.getURI();
- String platformId = uri.getUser();
- // if (deviceListElement == null) { // 瀛樺湪DeviceList鍒欎负鍝嶅簲 catalog锛� 涓嶅瓨鍦―eviceList鍒欎负鏌ヨ璇锋眰
if (name.equalsIgnoreCase("Query")) { // 鍖哄垎鏄疪esponse鈥斺�旀煡璇㈠搷搴旓紝杩樻槸Query鈥斺�旀煡璇㈣姹�
// TODO 鍚庣画灏嗕唬鐮佹媶鍒�
- ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId);
if (parentPlatform == null) {
response404Ack(evt);
return;
@@ -634,6 +623,11 @@
} else {
+ if (device == null) {
+ logger.warn("鏀跺埌catalog璁惧鐩綍鍒楄〃璇锋眰鏃舵湭鎵惧埌璁惧淇℃伅");
+ response404Ack(evt);
+ return;
+ }
deviceListElement = getRootElement(evt, device.getCharset()).element("DeviceList");
Iterator<Element> deviceListIterator = deviceListElement.elementIterator();
if (deviceListIterator != null) {
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
index ad37cd8..0de3cb8 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -326,6 +326,7 @@
String streamId = json.getString("stream");
String app = json.getString("app");
+ // TODO 濡傛灉鍦ㄧ粰涓婄骇鎺ㄦ祦锛屼篃涓嶅仠姝€��
if ("rtp".equals(app)){
JSONObject ret = new JSONObject();
ret.put("code", 0);
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
index 1781a4a..c8130c3 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
@@ -26,7 +26,9 @@
@Insert("<script> "+
"INSERT INTO platform_gb_channel (channelId, deviceId, platformId, deviceAndChannelId) VALUES" +
- "<foreach collection='channelReducesToAdd' item='item' separator=','> ('${item.channelId}','${item.deviceId}', '${platformId}', '${item.deviceId}_${item.channelId}' )</foreach>" +
+ "<foreach collection='channelReducesToAdd' item='item' separator=','>" +
+ " ('${item.channelId}','${item.deviceId}', '${platformId}', '${item.deviceId}_${item.channelId}' )" +
+ "</foreach>" +
"</script>")
int addChannels(String platformId, List<ChannelReduce> channelReducesToAdd);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index caf4dfc..ef46c2a 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,3 +1,3 @@
spring:
profiles:
- active: dev
\ No newline at end of file
+ active: local
\ No newline at end of file
diff --git a/src/main/resources/wvp.sqlite b/src/main/resources/wvp.sqlite
index 78d6da3..c2e0893 100644
--- a/src/main/resources/wvp.sqlite
+++ b/src/main/resources/wvp.sqlite
Binary files differ
--
Gitblit v1.8.0