From 335916f1f15eb9d0b34dea38cacee2300eac0606 Mon Sep 17 00:00:00 2001
From: 李防 <liguofang0703@126.com>
Date: 星期一, 07 三月 2022 14:20:27 +0800
Subject: [PATCH] InviteRequestProcessor类中,channelid从invite消息的header subject获取,不再从第一行request line获取。原因是和第三方平台对接时,发送的invite消息第一行为国标平台编码而不是设备通道编码,导致报错通道不存在,返回404。

---
 src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiControlController.java |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiControlController.java b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiControlController.java
index 4c124cf..eac742c 100644
--- a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiControlController.java
+++ b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiControlController.java
@@ -41,10 +41,17 @@
                             @RequestParam(required = false)Integer speed){
 
         if (logger.isDebugEnabled()) {
-            logger.debug(String.format("妯℃嫙鎺ュ彛> 璁惧浜戝彴鎺у埗 API璋冪敤锛宒eviceId锛�%s 锛宑hannelId锛�%s 锛宑ommand锛�%d 锛宻peed锛�%d ",
-                    serial, code, command, speed));
+            logger.debug("妯℃嫙鎺ュ彛> 璁惧浜戝彴鎺у埗 API璋冪敤锛宒eviceId锛歿} 锛宑hannelId锛歿} 锛宑ommand锛歿} 锛宻peed锛歿} ",
+                    serial, code, command, speed);
         }
+        if (channel == null) {channel = 0;}
+        if (speed == null) {speed = 0;}
         Device device = storager.queryVideoDevice(serial);
+        if (device == null) {
+            JSONObject result = new JSONObject();
+            result.put("error","device[ " + serial + " ]鏈壘鍒�");
+            return result;
+        }
         int cmdCode = 0;
         switch (command){
             case "left":

--
Gitblit v1.8.0