From 16f3b0553d5ea1dd891b56b93e3e13da950cf4dd Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 19 十二月 2022 18:00:28 +0800
Subject: [PATCH] 设备离线清空语音对讲通道

---
 src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java |   32 ++++++++++++--------------------
 1 files changed, 12 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
index 07c93fb..ab769f5 100644
--- a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
+++ b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
@@ -1,6 +1,6 @@
 package com.genersoft.iot.vmp.web.gb28181;
 
-import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSONObject;
 import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.conf.exception.SsrcTransactionNotFoundException;
@@ -57,12 +57,12 @@
      * @param serial 璁惧缂栧彿
      * @param channel 閫氶亾搴忓彿 榛樿鍊�: 1
      * @param code 閫氶亾缂栧彿,閫氳繃 /api/v1/device/channellist 鑾峰彇鐨� ChannelList.ID, 璇ュ弬鏁板拰 channel 浜岄�変竴浼犻�掑嵆鍙�
-     * @param cdn TODO 杞帹 CDN 鍦板潃, 褰㈠: [rtmp|rtsp]://xxx, encodeURIComponent
-     * @param audio TODO 鏄惁寮�鍚煶棰�, 榛樿 寮�鍚�
+     * @param cdn 杞帹 CDN 鍦板潃, 褰㈠: [rtmp|rtsp]://xxx, encodeURIComponent
+     * @param audio 鏄惁寮�鍚煶棰�, 榛樿 寮�鍚�
      * @param transport 娴佷紶杈撴ā寮忥紝 榛樿 UDP
-     * @param checkchannelstatus TODO 鏄惁妫�鏌ラ�氶亾鐘舵��, 榛樿 false, 琛ㄧず 鎷夋祦鍓嶄笉妫�鏌ラ�氶亾鐘舵�佹槸鍚﹀湪绾�
-     * @param transportmode TODO 褰� transport=TCP 鏃舵湁鏁�, 鎸囩ず娴佷紶杈撲富琚姩妯″紡, 榛樿琚姩
-     * @param timeout TODO 鎷夋祦瓒呮椂(绉�),
+     * @param checkchannelstatus 鏄惁妫�鏌ラ�氶亾鐘舵��, 榛樿 false, 琛ㄧず 鎷夋祦鍓嶄笉妫�鏌ラ�氶亾鐘舵�佹槸鍚﹀湪绾�
+     * @param transportmode 褰� transport=TCP 鏃舵湁鏁�, 鎸囩ず娴佷紶杈撲富琚姩妯″紡, 榛樿琚姩
+     * @param timeout 鎷夋祦瓒呮椂(绉�),
      * @return
      */
     @RequestMapping(value = "/start")
@@ -83,10 +83,12 @@
             JSONObject result = new JSONObject();
             result.put("error","device[ " + serial + " ]鏈壘鍒�");
             resultDeferredResult.setResult(result);
+            return resultDeferredResult;
         }else if (device.getOnline() == 0) {
             JSONObject result = new JSONObject();
             result.put("error","device[ " + code + " ]offline");
             resultDeferredResult.setResult(result);
+            return resultDeferredResult;
         }
         resultDeferredResult.onTimeout(()->{
             logger.info("鎾斁绛夊緟瓒呮椂");
@@ -102,13 +104,15 @@
             JSONObject result = new JSONObject();
             result.put("error","channel[ " + code + " ]鏈壘鍒�");
             resultDeferredResult.setResult(result);
+            return resultDeferredResult;
         }else if (deviceChannel.getStatus() == 0) {
             JSONObject result = new JSONObject();
             result.put("error","channel[ " + code + " ]offline");
             resultDeferredResult.setResult(result);
+            return resultDeferredResult;
         }
         MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device);
-        PlayResult play = playService.play(newMediaServerItem, serial, code, (mediaServerItem, response)->{
+        playService.play(newMediaServerItem, serial, code, (mediaServerItem, response)->{
             StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(serial, code);
             JSONObject result = new JSONObject();
             result.put("StreamID", streamInfo.getStream());
@@ -143,18 +147,6 @@
             result.put("RelaySize", "");
             result.put("ChannelPTZType", "0");
             resultDeferredResult.setResult(result);
-//            Class<?> aClass = responseEntity.getClass().getSuperclass();
-//            Field body = null;
-//            try {
-//                // 浣跨敤鍙嶅皠鍔ㄦ�佷慨鏀硅繑鍥炵殑body
-//                body = aClass.getDeclaredField("body");
-//                body.setAccessible(true);
-//                body.set(responseEntity, result);
-//            } catch (NoSuchFieldException e) {
-//                e.printStackTrace();
-//            } catch (IllegalAccessException e) {
-//                e.printStackTrace();
-//            }
         }, (eventResult) -> {
             JSONObject result = new JSONObject();
             result.put("error", "channel[ " + code + " ] " + eventResult.msg);
@@ -186,7 +178,7 @@
             result.put("error","鏈壘鍒版祦淇℃伅");
             return result;
         }
-        Device device = deviceService.queryDevice(serial);
+        Device device = deviceService.getDevice(serial);
         if (device == null) {
             JSONObject result = new JSONObject();
             result.put("error","鏈壘鍒拌澶�");

--
Gitblit v1.8.0