From ab81136765f1b641223b982b2baef13e06307fe4 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 08 十二月 2021 16:45:50 +0800 Subject: [PATCH] 优化适配zlm的hook保活 --- src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java | 43 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 35 insertions(+), 8 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 c008d1e..af9a206 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 @@ -6,6 +6,7 @@ import com.genersoft.iot.vmp.conf.UserSetup; import com.genersoft.iot.vmp.gb28181.bean.*; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; +import com.genersoft.iot.vmp.service.bean.ThirdPartyGB; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.dao.DeviceChannelMapper; import com.genersoft.iot.vmp.utils.redis.RedisUtil; @@ -13,6 +14,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; import java.text.SimpleDateFormat; import java.util.*; @@ -324,24 +326,21 @@ @Override public void sendStreamChangeMsg(String type, JSONObject jsonObject) { - String key = VideoManagerConstants.WVP_MSG_STREAM_CHANGE__PREFIX + type; + String key = VideoManagerConstants.WVP_MSG_STREAM_CHANGE_PREFIX + type; logger.debug("[redis 娴佸彉鍖栦簨浠禲 {}: {}", key, jsonObject.toString()); redis.convertAndSend(key, jsonObject); } @Override public void addStream(MediaServerItem mediaServerItem, String type, String app, String streamId, StreamInfo streamInfo) { - String key = VideoManagerConstants.WVP_SERVER_STREAM_PUSH_PREFIX + userSetup.getServerId() + "_" + type + "_" + app + "_" + streamId + "_" + mediaServerItem.getId(); + String key = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX + userSetup.getServerId() + "_" + type + "_" + app + "_" + streamId + "_" + mediaServerItem.getId(); redis.set(key, streamInfo); } @Override - public void removeStream(MediaServerItem mediaServerItem, String type, String app, String streamId) { - String key = VideoManagerConstants.WVP_SERVER_STREAM_PUSH_PREFIX + userSetup.getServerId() + "_*_" + app + "_" + streamId + "_" + mediaServerItem.getId(); - List<Object> streams = redis.scan(key); - for (Object stream : streams) { - redis.del((String) stream); - } + public void removeStream(String mediaServerId, String type, String app, String streamId) { + String key = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX + userSetup.getServerId() + "_" + type + "_" + app + "_" + streamId + "_" + mediaServerId; + redis.del(key); } @Override @@ -350,4 +349,32 @@ if (playLeys == null || playLeys.size() == 0) return null; return (StreamInfo)redis.get(playLeys.get(0).toString()); } + + @Override + public ThirdPartyGB queryMemberNoGBId(String queryKey) { + String key = VideoManagerConstants.WVP_STREAM_GB_ID_PREFIX + queryKey; + JSONObject jsonObject = (JSONObject)redis.get(key); + return JSONObject.toJavaObject(jsonObject, ThirdPartyGB.class); + } + + @Override + public void removeStream(String mediaServerId, String type) { + String key = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX + userSetup.getServerId() + "_" + type + "_*_*_" + mediaServerId; + List<Object> streams = redis.scan(key); + for (Object stream : streams) { + redis.del((String) stream); + } + } + + @Override + public List<StreamInfo> getStreams(String mediaServerId, String type) { + List<StreamInfo> result = new ArrayList<>(); + String key = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX + userSetup.getServerId() + "_" + type + "_*_*_" + mediaServerId; + List<Object> streams = redis.scan(key); + for (Object stream : streams) { + StreamInfo streamInfo = (StreamInfo)redis.get((String) stream); + result.add(streamInfo); + } + return result; + } } -- Gitblit v1.8.0