|  |  | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public boolean stopPlay(StreamInfo streamInfo) { | 
 |  |  |         if (streamInfo == null) return false; | 
 |  |  |         if (streamInfo == null) { | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |         return redis.del(String.format("%S_%s_%s_%s_%s", VideoManagerConstants.PLAYER_PREFIX, | 
 |  |  |                 userSetting.getServerId(), | 
 |  |  |                 streamInfo.getStream(), | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     public StreamInfo queryPlayByStreamId(String streamId) { | 
 |  |  |         List<Object> playLeys = redis.scan(String.format("%S_%s_%s_*", VideoManagerConstants.PLAYER_PREFIX, userSetting.getServerId(), streamId)); | 
 |  |  |         if (playLeys == null || playLeys.size() == 0) return null; | 
 |  |  |         if (playLeys == null || playLeys.size() == 0) { | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |         return (StreamInfo)redis.get(playLeys.get(0).toString()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |                 userSetting.getServerId(), | 
 |  |  |                 deviceId, | 
 |  |  |                 channelId)); | 
 |  |  |         if (playLeys == null || playLeys.size() == 0) return null; | 
 |  |  |         if (playLeys == null || playLeys.size() == 0) { | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |         return (StreamInfo)redis.get(playLeys.get(0).toString()); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         Map<String, StreamInfo> streamInfos = new HashMap<>(); | 
 |  |  | //      List<Object> playLeys = redis.keys(String.format("%S_*_%S_*", VideoManagerConstants.PLAYER_PREFIX, deviceId)); | 
 |  |  |         List<Object> players = redis.scan(String.format("%S_%s_*_%S_*", VideoManagerConstants.PLAYER_PREFIX, userSetting.getServerId(),deviceId)); | 
 |  |  |         if (players.size() == 0) return streamInfos; | 
 |  |  |         if (players.size() == 0) { | 
 |  |  |             return streamInfos; | 
 |  |  |         } | 
 |  |  |         for (Object player : players) { | 
 |  |  |             String key = (String) player; | 
 |  |  |             StreamInfo streamInfo = (StreamInfo) redis.get(key); | 
 |  |  | 
 |  |  |             deviceChannel.setDeviceId(deviceId); | 
 |  |  |             deviceChannelMapper.update(deviceChannel); | 
 |  |  |         } | 
 |  |  |         if (deviceId == null) deviceId = "*"; | 
 |  |  |         if (channelId == null) channelId = "*"; | 
 |  |  |         if (stream == null) stream = "*"; | 
 |  |  |         if (callId == null) callId = "*"; | 
 |  |  |         if (deviceId == null) { | 
 |  |  |             deviceId = "*"; | 
 |  |  |         } | 
 |  |  |         if (channelId == null) { | 
 |  |  |             channelId = "*"; | 
 |  |  |         } | 
 |  |  |         if (stream == null) { | 
 |  |  |             stream = "*"; | 
 |  |  |         } | 
 |  |  |         if (callId == null) { | 
 |  |  |             callId = "*"; | 
 |  |  |         } | 
 |  |  |         String key = String.format("%S_%s_%s_%s_%s_%s", VideoManagerConstants.DOWNLOAD_PREFIX, | 
 |  |  |                 userSetting.getServerId(), | 
 |  |  |                 deviceId, | 
 |  |  | 
 |  |  |             deviceChannel.setDeviceId(deviceId); | 
 |  |  |             deviceChannelMapper.update(deviceChannel); | 
 |  |  |         } | 
 |  |  |         if (deviceId == null) deviceId = "*"; | 
 |  |  |         if (channelId == null) channelId = "*"; | 
 |  |  |         if (stream == null) stream = "*"; | 
 |  |  |         if (callId == null) callId = "*"; | 
 |  |  |         if (deviceId == null) { | 
 |  |  |             deviceId = "*"; | 
 |  |  |         } | 
 |  |  |         if (channelId == null) { | 
 |  |  |             channelId = "*"; | 
 |  |  |         } | 
 |  |  |         if (stream == null) { | 
 |  |  |             stream = "*"; | 
 |  |  |         } | 
 |  |  |         if (callId == null) { | 
 |  |  |             callId = "*"; | 
 |  |  |         } | 
 |  |  |         String key = String.format("%S_%s_%s_%s_%s_%s", VideoManagerConstants.PLAY_BLACK_PREFIX, | 
 |  |  |                 userSetting.getServerId(), | 
 |  |  |                 deviceId, | 
 |  |  | 
 |  |  |         if (stream == null && callId == null) { | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |         if (deviceId == null) deviceId = "*"; | 
 |  |  |         if (channelId == null) channelId = "*"; | 
 |  |  |         if (stream == null) stream = "*"; | 
 |  |  |         if (callId == null) callId = "*"; | 
 |  |  |         if (deviceId == null) { | 
 |  |  |             deviceId = "*"; | 
 |  |  |         } | 
 |  |  |         if (channelId == null) { | 
 |  |  |             channelId = "*"; | 
 |  |  |         } | 
 |  |  |         if (stream == null) { | 
 |  |  |             stream = "*"; | 
 |  |  |         } | 
 |  |  |         if (callId == null) { | 
 |  |  |             callId = "*"; | 
 |  |  |         } | 
 |  |  |         String key = String.format("%S_%s_%s_%s_%s_%s", VideoManagerConstants.PLAY_BLACK_PREFIX, | 
 |  |  |                 userSetting.getServerId(), | 
 |  |  |                 deviceId, | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public SendRtpItem querySendRTPServer(String platformGbId, String channelId, String streamId, String callId) { | 
 |  |  |         if (platformGbId == null) platformGbId = "*"; | 
 |  |  |         if (channelId == null) channelId = "*"; | 
 |  |  |         if (streamId == null) streamId = "*"; | 
 |  |  |         if (callId == null) callId = "*"; | 
 |  |  |         if (platformGbId == null) { | 
 |  |  |             platformGbId = "*"; | 
 |  |  |         } | 
 |  |  |         if (channelId == null) { | 
 |  |  |             channelId = "*"; | 
 |  |  |         } | 
 |  |  |         if (streamId == null) { | 
 |  |  |             streamId = "*"; | 
 |  |  |         } | 
 |  |  |         if (callId == null) { | 
 |  |  |             callId = "*"; | 
 |  |  |         } | 
 |  |  |         String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX + userSetting.getServerId() + "_" + platformGbId | 
 |  |  |                 + "_" + channelId + "_" + streamId + "_" + callId; | 
 |  |  |         List<Object> scan = redis.scan(key); | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<SendRtpItem> querySendRTPServer(String platformGbId) { | 
 |  |  |         if (platformGbId == null) platformGbId = "*"; | 
 |  |  |         if (platformGbId == null) { | 
 |  |  |             platformGbId = "*"; | 
 |  |  |         } | 
 |  |  |         String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX + userSetting.getServerId() + "_" + platformGbId + "_*" + "_*" + "_*"; | 
 |  |  |         List<Object> queryResult = redis.scan(key); | 
 |  |  |         List<SendRtpItem> result= new ArrayList<>(); | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void deleteSendRTPServer(String platformGbId, String channelId, String callId, String streamId) { | 
 |  |  |         if (streamId == null) streamId = "*"; | 
 |  |  |         if (callId == null) callId = "*"; | 
 |  |  |         if (streamId == null) { | 
 |  |  |             streamId = "*"; | 
 |  |  |         } | 
 |  |  |         if (callId == null) { | 
 |  |  |             callId = "*"; | 
 |  |  |         } | 
 |  |  |         String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX + userSetting.getServerId() + "_" + platformGbId | 
 |  |  |                 + "_" + channelId + "_" + streamId + "_" + callId; | 
 |  |  |         List<Object> scan = redis.scan(key); | 
 |  |  | 
 |  |  |         if (stream == null && callId == null) { | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |         if (deviceId == null) deviceId = "*"; | 
 |  |  |         if (channelId == null) channelId = "*"; | 
 |  |  |         if (stream == null) stream = "*"; | 
 |  |  |         if (callId == null) callId = "*"; | 
 |  |  |         if (deviceId == null) { | 
 |  |  |             deviceId = "*"; | 
 |  |  |         } | 
 |  |  |         if (channelId == null) { | 
 |  |  |             channelId = "*"; | 
 |  |  |         } | 
 |  |  |         if (stream == null) { | 
 |  |  |             stream = "*"; | 
 |  |  |         } | 
 |  |  |         if (callId == null) { | 
 |  |  |             callId = "*"; | 
 |  |  |         } | 
 |  |  |         String key = String.format("%S_%s_%s_%s_%s_%s", VideoManagerConstants.DOWNLOAD_PREFIX, | 
 |  |  |                 userSetting.getServerId(), | 
 |  |  |                 deviceId, | 
 |  |  | 
 |  |  |         logger.info("[redis 报警通知] {}: {}", key, JSON.toJSON(msg)); | 
 |  |  |         redis.convertAndSend(key, (JSONObject)JSON.toJSON(msg)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public boolean deviceIsOnline(String deviceId) { | 
 |  |  |         String key = VideoManagerConstants.KEEPLIVEKEY_PREFIX + userSetting.getServerId() + "_" + deviceId; | 
 |  |  |         return redis.hasKey(key); | 
 |  |  |     } | 
 |  |  | } |