648540858
2023-02-22 019d95cfba07f0231bd5b385f6736883c6e90623
src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
@@ -1,15 +1,15 @@
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;
@@ -19,10 +19,9 @@
    /**
     * 计数器。为cseq进行计数
     *
     * @param method sip 方法
     * @return
     */
    Long getCSEQ(String method);
    Long getCSEQ();
    /**
     * 开始播放时将流存入
@@ -58,23 +57,21 @@
    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);
@@ -112,23 +109,6 @@
    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);
@@ -140,12 +120,18 @@
    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
@@ -179,7 +165,7 @@
     */
    ThirdPartyGB queryMemberNoGBId(String queryKey);
    List<MediaItem> getStreams(String mediaServerId, String pull);
    List<OnStreamChangedHookParam> getStreams(String mediaServerId, String pull);
    /**
     * 将device信息写入redis
@@ -205,15 +191,74 @@
    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();
    List<Device> getAllDevices();
    void removeAllDevice();
}