From ebc904e4d5fe07ecc269927f0e6669ad4f8bda19 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 28 四月 2023 10:28:08 +0800
Subject: [PATCH] Merge pull request #836 from keDaYao/featur-jt1078
---
src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java | 31 +++++++++++++++++++++++++++----
1 files changed, 27 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 67f2e7e..d4abcb4 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
@@ -24,8 +24,10 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
+import java.time.Duration;
import java.util.*;
@SuppressWarnings("rawtypes")
@@ -42,6 +44,9 @@
@Autowired
private RedisTemplate<Object, Object> redisTemplate;
+
+ @Autowired
+ private StringRedisTemplate stringRedisTemplate;
@Override
public Long getCSEQ() {
@@ -185,7 +190,8 @@
redisTemplate.opsForValue().set(key, stream);
}else {
logger.debug("娣诲姞涓嬭浇缂撳瓨==鏈畬鎴愪笅杞�=銆媨}",key);
- redisTemplate.opsForValue().set(key, stream, 60*60);
+ Duration duration = Duration.ofSeconds(60*60L);
+ redisTemplate.opsForValue().set(key, stream, duration);
}
return true;
}
@@ -351,7 +357,8 @@
@Override
public void updatePlatformRegisterInfo(String callId, PlatformRegisterInfo platformRegisterInfo) {
String key = VideoManagerConstants.PLATFORM_REGISTER_INFO_PREFIX + userSetting.getServerId() + "_" + callId;
- redisTemplate.opsForValue().set(key, platformRegisterInfo, 30);
+ Duration duration = Duration.ofSeconds(30L);
+ redisTemplate.opsForValue().set(key, platformRegisterInfo, duration);
}
@@ -562,7 +569,8 @@
@Override
public void updateWVPInfo(JSONObject jsonObject, int time) {
String key = VideoManagerConstants.WVP_SERVER_PREFIX + userSetting.getServerId();
- redisTemplate.opsForValue().set(key, jsonObject, time);
+ Duration duration = Duration.ofSeconds(time);
+ redisTemplate.opsForValue().set(key, jsonObject, duration);
}
@Override
@@ -694,7 +702,8 @@
@Override
public void updateGpsMsgInfo(GPSMsgInfo gpsMsgInfo) {
String key = VideoManagerConstants.WVP_STREAM_GPS_MSG_PREFIX + userSetting.getServerId() + "_" + gpsMsgInfo.getId();
- redisTemplate.opsForValue().set(key, gpsMsgInfo, 60); // 榛樿GPS娑堟伅淇濆瓨1鍒嗛挓
+ Duration duration = Duration.ofSeconds(60L);
+ redisTemplate.opsForValue().set(key, gpsMsgInfo, duration); // 榛樿GPS娑堟伅淇濆瓨1鍒嗛挓
}
@Override
@@ -902,4 +911,18 @@
+ userSetting.getServerId() + "_*_" + id + "_*";
return RedisUtil.scan(redisTemplate, key).size();
}
+
+ @Override
+ public void sendDeviceOrChannelStatus(String deviceId, String channelId, boolean online) {
+ String key = VideoManagerConstants.VM_MSG_SUBSCRIBE_DEVICE_STATUS;
+ logger.info("[redis閫氱煡] 鎺ㄩ�佽澶�/閫氶亾鐘舵�侊紝 {}/{}-{}", deviceId, channelId, online);
+ StringBuilder msg = new StringBuilder();
+ msg.append(deviceId);
+ if (channelId != null) {
+ msg.append(":").append(channelId);
+ }
+ msg.append(" ").append(online? "ON":"OFF");
+ // 浣跨敤 RedisTemplate<Object, Object> 鍙戦�佸瓧绗︿覆娑堟伅浼氬鑷村彂閫佺殑娑堟伅澶氬甫浜嗗弻寮曞彿
+ stringRedisTemplate.convertAndSend(key, msg.toString());
+ }
}
--
Gitblit v1.8.0