From afbec289067cc7f284dd135366b0f6febf13126b Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 11 七月 2022 16:21:01 +0800
Subject: [PATCH] 增加推流鉴权。保护服务安全

---
 src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
index 9a5be6e..c4d1c9e 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -848,7 +848,7 @@
 		streamPushMapper.addAll(streamPushItems);
 		// TODO 寰呬紭鍖�
 		for (int i = 0; i < streamPushItems.size(); i++) {
-			int onlineResult = gbStreamMapper.setStatus(streamPushItems.get(i).getApp(), streamPushItems.get(i).getStream(), true);
+			int onlineResult = mediaOnline(streamPushItems.get(i).getApp(), streamPushItems.get(i).getStream());
 			if (onlineResult > 0) {
 				// 鍙戦�佷笂绾块�氱煡
 				eventPublisher.catalogEventPublishForStream(null, streamPushItems.get(i), CatalogEvent.ON);
@@ -856,11 +856,13 @@
 		}
 	}
 
+
+
 	@Override
 	public void updateMedia(StreamPushItem streamPushItem) {
 		streamPushMapper.del(streamPushItem.getApp(), streamPushItem.getStream());
 		streamPushMapper.add(streamPushItem);
-		gbStreamMapper.setStatus(streamPushItem.getApp(), streamPushItem.getStream(), true);
+		mediaOffline(streamPushItem.getApp(), streamPushItem.getStream());
 
 		if(!StringUtils.isEmpty(streamPushItem.getGbId() )){
 			// 鏌ユ壘寮�鍚簡鍏ㄩ儴鐩存挱娴佸叡浜殑涓婄骇骞冲彴
@@ -897,8 +899,26 @@
 	}
 
 	@Override
-	public int mediaOutline(String app, String streamId) {
-		return gbStreamMapper.setStatus(app, streamId, false);
+	public int mediaOffline(String app, String stream) {
+		GbStream gbStream = gbStreamMapper.selectOne(app, stream);
+		int result;
+		if ("proxy".equals(gbStream.getStreamType())) {
+			result = streamProxyMapper.updateStatus(app, stream, false);
+		}else {
+			result = streamPushMapper.updateStatus(app, stream, false);
+		}
+		return result;
+	}
+
+	public int mediaOnline(String app, String stream) {
+		GbStream gbStream = gbStreamMapper.selectOne(app, stream);
+		int result;
+		if ("proxy".equals(gbStream.getStreamType())) {
+			result = streamProxyMapper.updateStatus(app, stream, true);
+		}else {
+			result = streamPushMapper.updateStatus(app, stream, true);
+		}
+		return result;
 	}
 
 	@Override

--
Gitblit v1.8.0