From 269ad8cedbb07ca207a6f33af23085894dab4aa6 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期日, 23 四月 2023 14:36:13 +0800 Subject: [PATCH] 修身目录刷新,优化公网下远程IP端口的获取 --- src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java | 31 +++++++++++++++++-------------- 1 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java b/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java index d9b9cc5..dabfdff 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java @@ -4,25 +4,28 @@ import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo; import com.genersoft.iot.vmp.gb28181.bean.SsrcTransaction; +import com.genersoft.iot.vmp.utils.JsonUtil; import com.genersoft.iot.vmp.utils.redis.RedisUtil; import gov.nist.javax.sip.message.SIPResponse; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.List; -/** - * @description:瑙嗛娴乻ession绠$悊鍣紝绠$悊瑙嗛棰勮銆侀瑙堝洖鏀剧殑閫氫俊鍙ユ焺 - * @author: swwheihei - * @date: 2020骞�5鏈�13鏃� 涓嬪崍4:03:02 +/** + * 瑙嗛娴乻ession绠$悊鍣紝绠$悊瑙嗛棰勮銆侀瑙堝洖鏀剧殑閫氫俊鍙ユ焺 */ @Component public class VideoStreamSessionManager { @Autowired private UserSetting userSetting; + + @Autowired + private RedisTemplate<Object, Object> redisTemplate; public enum SessionType { play, @@ -51,7 +54,7 @@ ssrcTransaction.setMediaServerId(mediaServerId); ssrcTransaction.setType(type); - RedisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + redisTemplate.opsForValue().set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + callId + "_" + stream, ssrcTransaction); } @@ -70,11 +73,11 @@ stream ="*"; } String key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + callId+ "_" + stream; - List<Object> scanResult = RedisUtil.scan(key); + List<Object> scanResult = RedisUtil.scan(redisTemplate, key); if (scanResult.size() == 0) { return null; } - return (SsrcTransaction)RedisUtil.get((String) scanResult.get(0)); + return (SsrcTransaction)redisTemplate.opsForValue().get(scanResult.get(0)); } public List<SsrcTransaction> getSsrcTransactionForAll(String deviceId, String channelId, String callId, String stream){ @@ -91,13 +94,13 @@ stream ="*"; } String key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + callId+ "_" + stream; - List<Object> scanResult = RedisUtil.scan(key); + List<Object> scanResult = RedisUtil.scan(redisTemplate, key); if (scanResult.size() == 0) { return null; } List<SsrcTransaction> result = new ArrayList<>(); for (Object keyObj : scanResult) { - result.add((SsrcTransaction)RedisUtil.get((String) keyObj)); + result.add((SsrcTransaction)redisTemplate.opsForValue().get(keyObj)); } return result; } @@ -123,17 +126,17 @@ if (ssrcTransaction == null) { return; } - RedisUtil.del(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + redisTemplate.delete(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + ssrcTransaction.getCallId() + "_" + ssrcTransaction.getStream()); } public List<SsrcTransaction> getAllSsrc() { - List<Object> ssrcTransactionKeys = RedisUtil.scan(String.format("%s_*_*_*_*", VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX+ userSetting.getServerId())); + List<Object> ssrcTransactionKeys = RedisUtil.scan(redisTemplate, String.format("%s_*_*_*_*", VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX+ userSetting.getServerId())); List<SsrcTransaction> result= new ArrayList<>(); - for (int i = 0; i < ssrcTransactionKeys.size(); i++) { - String key = (String)ssrcTransactionKeys.get(i); - SsrcTransaction ssrcTransaction = (SsrcTransaction)RedisUtil.get(key); + for (Object ssrcTransactionKey : ssrcTransactionKeys) { + String key = (String) ssrcTransactionKey; + SsrcTransaction ssrcTransaction = JsonUtil.redisJsonToObject(redisTemplate, key, SsrcTransaction.class); result.add(ssrcTransaction); } return result; -- Gitblit v1.8.0