648540858
2022-05-06 5d901b5e3f033e8b04e53420d68626cbd87431c8
src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
@@ -2,14 +2,27 @@
import com.alibaba.fastjson.JSONObject;
import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
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.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 java.util.List;
import java.util.Map;
public interface IRedisCatchStorage {
    /**
     * 计数器。为cseq进行计数
     *
     * @param method sip 方法
     * @return
     */
    Long getCSEQ(String method);
    /**
     * 开始播放时将流存入
@@ -35,17 +48,15 @@
    StreamInfo queryPlayByStreamId(String steamId);
    StreamInfo queryPlaybackByStreamId(String steamId);
    StreamInfo queryPlayByDevice(String deviceId, String channelId);
    Map<String, StreamInfo> queryPlayByDeviceId(String deviceId);
    boolean startPlayback(StreamInfo stream);
    boolean startPlayback(StreamInfo stream, String callId);
    boolean stopPlayback(StreamInfo streamInfo);
    boolean stopPlayback(String deviceId, String channelId, String stream, String callId);
    StreamInfo queryPlaybackByDevice(String deviceId, String code);
    StreamInfo queryPlayback(String deviceId, String channelID, String stream, String callId);
    void updatePlatformCatchInfo(ParentPlatformCatch parentPlatformCatch);
@@ -77,7 +88,7 @@
     * @param channelId
     * @return sendRtpItem
     */
    SendRtpItem querySendRTPServer(String platformGbId, String channelId);
    SendRtpItem querySendRTPServer(String platformGbId, String channelId, String streamId, String callId);
    List<SendRtpItem> querySendRTPServer(String platformGbId);
@@ -86,7 +97,7 @@
     * @param platformGbId
     * @param channelId
     */
    void deleteSendRTPServer(String platformGbId, String channelId);
    void deleteSendRTPServer(String platformGbId, String channelId, String callId, String streamId);
    /**
     * 查询某个通道是否存在上级点播(RTP推送)
@@ -120,5 +131,103 @@
    /**
     * 在redis添加wvp的信息
     */
    void updateWVPInfo(JSONObject jsonObject);
    void updateWVPInfo(JSONObject jsonObject, int time);
    /**
     * 发送推流生成与推流消失消息
     * @param jsonObject 消息内容
     */
    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);
    /**
     * 移除流信息从redis
     * @param mediaServerId
     * @param app
     * @param streamId
     */
    void removeStream(String mediaServerId, String type, String app, String streamId);
    /**
     * 移除流信息从redis
     * @param mediaServerId
     */
    void removeStream(String mediaServerId, String type);
    /**
     * 开始下载录像时存入
     * @param streamInfo
     */
    boolean startDownload(StreamInfo streamInfo, String callId);
    StreamInfo queryDownload(String deviceId, String channelId, String stream, String callId);
    boolean stopDownload(String deviceId, String channelId, String stream, String callId);
    /**
     * 查找第三方系统留下的国标预设值
     * @param queryKey
     * @return
     */
    ThirdPartyGB queryMemberNoGBId(String queryKey);
    List<MediaItem> getStreams(String mediaServerId, String pull);
    /**
     * 将device信息写入redis
     * @param device
     */
    void updateDevice(Device device);
    void removeDevice(String deviceId);
    /**
     * 获取Device
     */
    Device getDevice(String deviceId);
    void resetAllCSEQ();
    void updateGpsMsgInfo(GPSMsgInfo gpsMsgInfo);
    GPSMsgInfo getGpsMsgInfo(String gbId);
    List<GPSMsgInfo> getAllGpsMsgInfo();
    Long getSN(String method);
    void resetAllSN();
    MediaItem getStreamInfo(String app, String streamId, String mediaServerId);
    void addCpuInfo(double cpuInfo);
    void addMemInfo(double memInfo);
    void addNetInfo(Map<String, String> networkInterfaces);
    void sendMobilePositionMsg(JSONObject jsonObject);
    void sendStreamPushRequestedMsg(MessageForPushChannel messageForPushChannel);
    /**
     * 判断设备状态
     * @param deviceId 设备ID
     * @return
     */
    public boolean deviceIsOnline(String deviceId);
}