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