|  |  | 
 |  |  | 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; | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @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) { | 
 |  |  |         // 查找是否使用了callID | 
 |  |  |         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 | 
 |  |  | 
 |  |  |     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 | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @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; | 
 |  |  |     } | 
 |  |  | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @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; |