| | |
| | | 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; |
| | |
| | | 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.*; |
| | |
| | | |
| | | @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 |
| | |
| | | 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; |
| | | } |
| | | } |