From e5b1876012fc76f7ea273fa35e1262b067891bac Mon Sep 17 00:00:00 2001 From: gaofw189 <gaofw189@chinatelecom.cn> Date: 星期四, 02 二月 2023 18:24:32 +0800 Subject: [PATCH] 修复WVP作为下级平台接收上级平台DeviceControl信令不做处理的问题。-修改日志备注 --- src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java | 40 ++++++++++++++++++++++++++-------------- 1 files changed, 26 insertions(+), 14 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 b82ccf9..8cf5293 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 @@ -1,13 +1,13 @@ package com.genersoft.iot.vmp.storager.impl; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.genersoft.iot.vmp.common.StreamInfo; import com.genersoft.iot.vmp.common.SystemAllInfo; import com.genersoft.iot.vmp.common.VideoManagerConstants; import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.gb28181.bean.*; -import com.genersoft.iot.vmp.media.zlm.dto.MediaItem; +import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo; import com.genersoft.iot.vmp.service.bean.GPSMsgInfo; @@ -573,14 +573,14 @@ } @Override - public void addStream(MediaServerItem mediaServerItem, String type, String app, String streamId, MediaItem mediaItem) { + public void addStream(MediaServerItem mediaServerItem, String type, String app, String streamId, OnStreamChangedHookParam onStreamChangedHookParam) { // 鏌ユ壘鏄惁浣跨敤浜哻allID StreamAuthorityInfo streamAuthorityInfo = getStreamAuthorityInfo(app, streamId); String key = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX + userSetting.getServerId() + "_" + type + "_" + app + "_" + streamId + "_" + mediaServerItem.getId(); if (streamAuthorityInfo != null) { - mediaItem.setCallId(streamAuthorityInfo.getCallId()); + onStreamChangedHookParam.setCallId(streamAuthorityInfo.getCallId()); } - RedisUtil.set(key, mediaItem); + RedisUtil.set(key, onStreamChangedHookParam); } @Override @@ -625,7 +625,7 @@ public ThirdPartyGB queryMemberNoGBId(String queryKey) { String key = VideoManagerConstants.WVP_STREAM_GB_ID_PREFIX + queryKey; JSONObject jsonObject = (JSONObject)RedisUtil.get(key); - return JSONObject.toJavaObject(jsonObject, ThirdPartyGB.class); + return jsonObject.to(ThirdPartyGB.class); } @Override @@ -638,13 +638,13 @@ } @Override - public List<MediaItem> getStreams(String mediaServerId, String type) { - List<MediaItem> result = new ArrayList<>(); + public List<OnStreamChangedHookParam> getStreams(String mediaServerId, String type) { + List<OnStreamChangedHookParam> result = new ArrayList<>(); String key = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX + userSetting.getServerId() + "_" + type + "_*_*_" + mediaServerId; List<Object> streams = RedisUtil.scan(key); for (Object stream : streams) { - MediaItem mediaItem = (MediaItem)RedisUtil.get((String) stream); - result.add(mediaItem); + OnStreamChangedHookParam onStreamChangedHookParam = (OnStreamChangedHookParam)RedisUtil.get((String) stream); + result.add(onStreamChangedHookParam); } return result; } @@ -714,16 +714,28 @@ } + @Override + public List<StreamAuthorityInfo> getAllStreamAuthorityInfo() { + String scanKey = VideoManagerConstants.MEDIA_STREAM_AUTHORITY + userSetting.getServerId() + "_*_*" ; + List<StreamAuthorityInfo> result = new ArrayList<>(); + List<Object> keys = RedisUtil.scan(scanKey); + for (Object o : keys) { + String key = (String) o; + result.add((StreamAuthorityInfo) RedisUtil.get(key)); + } + return result; + } + @Override - public MediaItem getStreamInfo(String app, String streamId, String mediaServerId) { + public OnStreamChangedHookParam getStreamInfo(String app, String streamId, String mediaServerId) { String scanKey = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX + userSetting.getServerId() + "_*_" + app + "_" + streamId + "_" + mediaServerId; - MediaItem result = null; + OnStreamChangedHookParam result = null; List<Object> keys = RedisUtil.scan(scanKey); if (keys.size() > 0) { String key = (String) keys.get(0); - result = (MediaItem)RedisUtil.get(key); + result = (OnStreamChangedHookParam)RedisUtil.get(key); } return result; -- Gitblit v1.8.0