From a5095879803f10fb154470b4002510df27c3aa17 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期日, 17 七月 2022 23:17:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java | 41 +++++++++++++++++++++++++++++++++++++----
1 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
index 39daeda..8e98059 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
@@ -9,6 +9,8 @@
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.media.zlm.dto.MediaItem;
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
+import com.genersoft.iot.vmp.media.zlm.dto.OnPublishHookParam;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
import com.genersoft.iot.vmp.service.bean.MessageForPushChannel;
import com.genersoft.iot.vmp.service.bean.ThirdPartyGB;
@@ -20,6 +22,7 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
import java.util.*;
@@ -587,16 +590,36 @@
String scanKey = VideoManagerConstants.WVP_STREAM_GPS_MSG_PREFIX + userSetting.getServerId() + "_*";
List<GPSMsgInfo> result = new ArrayList<>();
List<Object> keys = redis.scan(scanKey);
- for (int i = 0; i < keys.size(); i++) {
- String key = (String) keys.get(i);
+ for (Object o : keys) {
+ String key = (String) o;
GPSMsgInfo gpsMsgInfo = (GPSMsgInfo) redis.get(key);
if (!gpsMsgInfo.isStored()) { // 鍙彇娌℃湁瀛樿繃寰�
- result.add((GPSMsgInfo)redis.get(key));
+ result.add((GPSMsgInfo) redis.get(key));
}
}
return result;
}
+
+ @Override
+ public void updateStreamAuthorityInfo(String app, String stream, StreamAuthorityInfo streamAuthorityInfo) {
+ String key = VideoManagerConstants.MEDIA_STREAM_AUTHORITY + userSetting.getServerId() + "_" + app+ "_" + stream;
+ redis.set(key, streamAuthorityInfo);
+ }
+
+ @Override
+ public void removeStreamAuthorityInfo(String app, String stream) {
+ String key = VideoManagerConstants.MEDIA_STREAM_AUTHORITY + userSetting.getServerId() + "_" + app+ "_" + stream ;
+ redis.del(key);
+ }
+
+ @Override
+ public StreamAuthorityInfo getStreamAuthorityInfo(String app, String stream) {
+ String key = VideoManagerConstants.MEDIA_STREAM_AUTHORITY + userSetting.getServerId() + "_" + app+ "_" + stream ;
+ return (StreamAuthorityInfo) redis.get(key);
+
+ }
+
@Override
public MediaItem getStreamInfo(String app, String streamId, String mediaServerId) {
@@ -667,7 +690,7 @@
@Override
public void sendStreamPushRequestedMsg(MessageForPushChannel msg) {
String key = VideoManagerConstants.VM_MSG_STREAM_PUSH_REQUESTED;
- logger.info("[redis 鎺ㄦ祦琚姹傞�氱煡] {}: {}-{}", key, msg.getApp(), msg.getStream());
+ logger.info("[redis 鎺ㄦ祦琚姹傞�氱煡] {}: {}/{}", key, msg.getApp(), msg.getStream());
redis.convertAndSend(key, (JSONObject)JSON.toJSON(msg));
}
@@ -682,4 +705,14 @@
public boolean deviceIsOnline(String deviceId) {
return getDevice(deviceId).getOnline() == 1;
}
+
+
+ @Override
+ public void sendStreamPushRequestedMsgForStatus() {
+ String key = VideoManagerConstants.VM_MSG_GET_ALL_ONLINE_REQUESTED;
+ logger.info("[redis 閫氱煡]鑾峰彇鎵�鏈夋帹娴佽澶囩殑鐘舵��");
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put(key, key);
+ redis.convertAndSend(key, jsonObject);
+ }
}
--
Gitblit v1.8.0