648540858
2022-10-18 1af77ab5f7c11a4b3d59c1989b51b9fca29679ce
src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
@@ -3,12 +3,12 @@
import com.alibaba.fastjson.JSONObject;
import com.genersoft.iot.vmp.common.StreamInfo;
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.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;
@@ -18,10 +18,9 @@
    /**
     * 计数器。为cseq进行计数
     *
     * @param method sip 方法
     * @return
     */
    Long getCSEQ(String method);
    Long getCSEQ();
    /**
     * 开始播放时将流存入
@@ -47,17 +46,17 @@
    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);
    String queryPlaybackForKey(String deviceId, String channelId, String stream, String callId);
    void updatePlatformCatchInfo(ParentPlatformCatch parentPlatformCatch);
@@ -65,17 +64,13 @@
    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);
@@ -113,23 +108,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);
@@ -139,6 +117,12 @@
     * @param jsonObject 消息内容
     */
    void sendStreamChangeMsg(String type, JSONObject jsonObject);
    /**
     * 发送报警消息
     * @param msg 消息内容
     */
    void sendAlarmMsg(AlarmChannelMessage msg);
    /**
     * 添加流信息到redis
@@ -167,9 +151,11 @@
     * 开始下载录像时存入
     * @param streamInfo
     */
    boolean startDownload(StreamInfo streamInfo);
    boolean startDownload(StreamInfo streamInfo, String callId);
    StreamInfo queryDownloadByStreamId(String streamId);
    StreamInfo queryDownload(String deviceId, String channelId, String stream, String callId);
    boolean stopDownload(String deviceId, String channelId, String stream, String callId);
    /**
     * 查找第三方系统留下的国标预设值
@@ -204,17 +190,7 @@
    void resetAllSN();
    void updateSubscribe(String key, SubscribeInfo subscribeInfo);
    SubscribeInfo getSubscribe(String key);
    void delSubscribe(String key);
    MediaItem getStreamInfo(String app, String streamId, String mediaServerId);
    List<SubscribeInfo> getAllSubscribe();
    List<String> getAllSubscribePlatform();
    void addCpuInfo(double cpuInfo);
@@ -222,4 +198,46 @@
    void addNetInfo(Map<String, String> 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);
    /**
     * 发送redis消息 查询所有推流设备的状态
     */
    void sendStreamPushRequestedMsgForStatus();
    List<SendRtpItem> querySendRTPServerByChnnelId(String channelId);
    List<SendRtpItem> querySendRTPServerByStream(String stream);
}