|  |  | 
 |  |  | package com.genersoft.iot.vmp.storager; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.alibaba.fastjson2.JSONObject; | 
 |  |  | import com.genersoft.iot.vmp.common.StreamInfo; | 
 |  |  | import com.genersoft.iot.vmp.common.SystemAllInfo; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.*; | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.dto.MediaItem; | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.dto.*; | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam; | 
 |  |  | import com.genersoft.iot.vmp.service.bean.GPSMsgInfo; | 
 |  |  | import com.genersoft.iot.vmp.service.bean.MessageForPushChannel; | 
 |  |  | import com.genersoft.iot.vmp.service.bean.SSRCInfo; | 
 |  |  | import com.genersoft.iot.vmp.service.bean.ThirdPartyGB; | 
 |  |  | import com.genersoft.iot.vmp.storager.dao.dto.PlatformRegisterInfo; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * 计数器。为cseq进行计数 | 
 |  |  |      * | 
 |  |  |      * @param method sip 方法 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     Long getCSEQ(String method); | 
 |  |  |     Long getCSEQ(); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 开始播放时将流存入 | 
 |  |  | 
 |  |  |  | 
 |  |  |     StreamInfo queryPlayback(String deviceId, String channelID, String stream, String callId); | 
 |  |  |  | 
 |  |  |     String queryPlaybackForKey(String deviceId, String channelId, String stream, String callId); | 
 |  |  |  | 
 |  |  |     void updatePlatformCatchInfo(ParentPlatformCatch parentPlatformCatch); | 
 |  |  |  | 
 |  |  |     ParentPlatformCatch queryPlatformCatchInfo(String platformGbId); | 
 |  |  |  | 
 |  |  |     void delPlatformCatchInfo(String platformGbId); | 
 |  |  |  | 
 |  |  |     void updatePlatformKeepalive(ParentPlatform parentPlatform); | 
 |  |  |  | 
 |  |  |     void delPlatformKeepalive(String platformGbId); | 
 |  |  |  | 
 |  |  |     void updatePlatformRegister(ParentPlatform parentPlatform); | 
 |  |  |  | 
 |  |  |     void delPlatformRegister(String platformGbId); | 
 |  |  |  | 
 |  |  |     void updatePlatformRegisterInfo(String callId, String platformGbId); | 
 |  |  |     void updatePlatformRegisterInfo(String callId, PlatformRegisterInfo platformRegisterInfo); | 
 |  |  |  | 
 |  |  |     String queryPlatformRegisterInfo(String callId); | 
 |  |  |     PlatformRegisterInfo queryPlatformRegisterInfo(String callId); | 
 |  |  |  | 
 |  |  |     void delPlatformRegisterInfo(String callId); | 
 |  |  |  | 
 |  |  | 
 |  |  |     void clearCatchByDeviceId(String deviceId); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取mediaServer节点 | 
 |  |  |      * @param mediaServerId | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  | //    MediaServerItem getMediaInfo(String mediaServerId); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 设置所有设备离线 | 
 |  |  |      */ | 
 |  |  |     void outlineForAll(); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取所有在线的 | 
 |  |  |      */ | 
 |  |  |     List<String> getOnlineForAll(); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 在redis添加wvp的信息 | 
 |  |  |      */ | 
 |  |  |     void updateWVPInfo(JSONObject jsonObject, int time); | 
 |  |  | 
 |  |  |     void sendStreamChangeMsg(String type, JSONObject jsonObject); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 发送报警消息 | 
 |  |  |      * @param msg 消息内容 | 
 |  |  |      */ | 
 |  |  |     void sendAlarmMsg(AlarmChannelMessage msg); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 添加流信息到redis | 
 |  |  |      * @param mediaServerItem | 
 |  |  |      * @param app | 
 |  |  |      * @param streamId | 
 |  |  |      */ | 
 |  |  |     void addStream(MediaServerItem mediaServerItem, String type, String app, String streamId, MediaItem item); | 
 |  |  |     void addStream(MediaServerItem mediaServerItem, String type, String app, String streamId, OnStreamChangedHookParam item); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 移除流信息从redis | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     ThirdPartyGB queryMemberNoGBId(String queryKey); | 
 |  |  |  | 
 |  |  |     List<MediaItem> getStreams(String mediaServerId, String pull); | 
 |  |  |     List<OnStreamChangedHookParam> getStreams(String mediaServerId, String pull); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 将device信息写入redis | 
 |  |  | 
 |  |  |  | 
 |  |  |     void resetAllSN(); | 
 |  |  |  | 
 |  |  |     MediaItem getStreamInfo(String app, String streamId, String mediaServerId); | 
 |  |  |     OnStreamChangedHookParam getStreamInfo(String app, String streamId, String mediaServerId); | 
 |  |  |  | 
 |  |  |     void addCpuInfo(double cpuInfo); | 
 |  |  |  | 
 |  |  |     void addMemInfo(double memInfo); | 
 |  |  |  | 
 |  |  |     void addNetInfo(Map<String, String> networkInterfaces); | 
 |  |  |     void addNetInfo(Map<String, Double> networkInterfaces); | 
 |  |  |  | 
 |  |  |     void sendMobilePositionMsg(JSONObject jsonObject); | 
 |  |  |  | 
 |  |  |     void sendStreamPushRequestedMsg(MessageForPushChannel messageForPushChannel); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 判断设备状态 | 
 |  |  |      * @param deviceId 设备ID | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public boolean deviceIsOnline(String deviceId); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 存储推流的鉴权信息 | 
 |  |  |      * @param app 应用名 | 
 |  |  |      * @param stream 流 | 
 |  |  |      * @param streamAuthorityInfo 鉴权信息 | 
 |  |  |      */ | 
 |  |  |     void updateStreamAuthorityInfo(String app, String stream, StreamAuthorityInfo streamAuthorityInfo); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 移除推流的鉴权信息 | 
 |  |  |      * @param app 应用名 | 
 |  |  |      * @param streamId 流 | 
 |  |  |      */ | 
 |  |  |     void removeStreamAuthorityInfo(String app, String streamId); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取推流的鉴权信息 | 
 |  |  |      * @param app 应用名 | 
 |  |  |      * @param stream 流 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     StreamAuthorityInfo getStreamAuthorityInfo(String app, String stream); | 
 |  |  |  | 
 |  |  |     List<StreamAuthorityInfo> getAllStreamAuthorityInfo(); | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 发送redis消息 查询所有推流设备的状态 | 
 |  |  |      */ | 
 |  |  |     void sendStreamPushRequestedMsgForStatus(); | 
 |  |  |  | 
 |  |  |     List<SendRtpItem> querySendRTPServerByChnnelId(String channelId); | 
 |  |  |  | 
 |  |  |     List<SendRtpItem> querySendRTPServerByStream(String stream); | 
 |  |  |  | 
 |  |  |     SystemAllInfo getSystemInfo(); | 
 |  |  |  | 
 |  |  |     int getPushStreamCount(String id); | 
 |  |  |  | 
 |  |  |     int getProxyStreamCount(String id); | 
 |  |  |  | 
 |  |  |     int getGbReceiveCount(String id); | 
 |  |  |  | 
 |  |  |     int getGbSendCount(String id); | 
 |  |  |  | 
 |  |  |     void addDiskInfo(List<Map<String, Object>> diskInfo); | 
 |  |  |  | 
 |  |  |     List<SendRtpItem> queryAllSendRTPServer(); | 
 |  |  |  | 
 |  |  | } |