From 2157bb0270663df35b7267c3d10c8b594400102e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 22 二月 2022 11:44:56 +0800
Subject: [PATCH] 规范数据库,给各个标设置主键ID

---
 src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java |   34 +++++++++++++++++++++++++++++++---
 1 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
index 13277c2..afac6eb 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
@@ -59,6 +59,9 @@
     private IRedisCatchStorage redisCatchStorage;
 
     @Autowired
+    private IVideoManagerStorager storager;
+
+    @Autowired
     private UserSetup userSetup;
 
     @Autowired
@@ -278,7 +281,27 @@
 
     @Override
     public void zlmServerOnline(String mediaServerId) {
-        zlmServerOffline(mediaServerId);
+        // 绉婚櫎寮�鍚簡鏃犱汉瑙傜湅鑷姩绉婚櫎鐨勬祦
+        List<StreamProxyItem> streamProxyItemList = streamProxyMapper.selecAutoRemoveItemByMediaServerId(mediaServerId);
+        if (streamProxyItemList.size() > 0) {
+            gbStreamMapper.batchDel(streamProxyItemList);
+        }
+        streamProxyMapper.deleteAutoRemoveItemByMediaServerId(mediaServerId);
+
+        // 鎭㈠娴佷唬鐞�, 鍙煡鎵捐繖涓繖涓祦濯掍綋
+        List<StreamProxyItem> streamProxyListForEnable = storager.getStreamProxyListForEnableInMediaServer(
+                mediaServerId, true, false);
+        for (StreamProxyItem streamProxyDto : streamProxyListForEnable) {
+            logger.info("鎭㈠娴佷唬鐞嗭紝" + streamProxyDto.getApp() + "/" + streamProxyDto.getStream());
+            JSONObject jsonObject = addStreamProxyToZlm(streamProxyDto);
+            if (jsonObject == null) {
+                // 璁剧疆涓虹绾�
+                logger.info("鎭㈠娴佷唬鐞嗗け璐�" + streamProxyDto.getApp() + "/" + streamProxyDto.getStream());
+                updateStatus(false, streamProxyDto.getApp(), streamProxyDto.getStream());
+            }else {
+                updateStatus(true, streamProxyDto.getApp(), streamProxyDto.getStream());
+            }
+        }
     }
 
     @Override
@@ -289,8 +312,8 @@
             gbStreamMapper.batchDel(streamProxyItemList);
         }
         streamProxyMapper.deleteAutoRemoveItemByMediaServerId(mediaServerId);
-        // 鍏朵粬鐨勬祦璁剧疆鏈惎鐢�
-        streamProxyMapper.updateStatus(false, mediaServerId);
+        // 鍏朵粬鐨勬祦璁剧疆绂荤嚎
+        streamProxyMapper.updateStatusByMediaServerId(false, mediaServerId);
         String type = "PULL";
 
         // 鍙戦�乺edis娑堟伅
@@ -314,4 +337,9 @@
     public void clean() {
 
     }
+
+    @Override
+    public int updateStatus(boolean status, String app, String stream) {
+        return streamProxyMapper.updateStatus(status, app, stream);
+    }
 }

--
Gitblit v1.8.0