From f1d079f9c0b3d384090477ca54e0548373d62b57 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 16 Jan 2025 11:56:39 +0800
Subject: [PATCH] 配置修改

---
 src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java |  243 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 243 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
new file mode 100644
index 0000000..ab9a831
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
@@ -0,0 +1,243 @@
+package com.genersoft.iot.vmp.storager;
+
+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.*;
+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;
+
+public interface IRedisCatchStorage {
+
+    /**
+     * 计数器。为cseq进行计数
+     *
+     * @return
+     */
+    Long getCSEQ();
+
+    /**
+     * 开始播放时将流存入
+     *
+     * @param stream 流信息
+     * @return
+     */
+    boolean startPlay(StreamInfo stream);
+
+
+    /**
+     * 停止播放时删除
+     *
+     * @return
+     */
+    boolean stopPlay(StreamInfo streamInfo);
+
+    /**
+     * 查询播放列表
+     * @return
+     */
+    StreamInfo queryPlay(StreamInfo streamInfo);
+
+    StreamInfo queryPlayByStreamId(String steamId);
+
+    StreamInfo queryPlayByDevice(String deviceId, String channelId);
+
+    Map<String, StreamInfo> queryPlayByDeviceId(String deviceId);
+
+    boolean startPlayback(StreamInfo stream, String callId);
+
+    boolean stopPlayback(String deviceId, String channelId, String stream, String callId);
+
+    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 delPlatformKeepalive(String platformGbId);
+
+    void delPlatformRegister(String platformGbId);
+
+    void updatePlatformRegisterInfo(String callId, PlatformRegisterInfo platformRegisterInfo);
+
+    PlatformRegisterInfo queryPlatformRegisterInfo(String callId);
+
+    void delPlatformRegisterInfo(String callId);
+
+    void cleanPlatformRegisterInfos();
+
+    void updateSendRTPSever(SendRtpItem sendRtpItem);
+
+    /**
+     * 查询RTP推送信息缓存
+     * @param platformGbId
+     * @param channelId
+     * @return sendRtpItem
+     */
+    SendRtpItem querySendRTPServer(String platformGbId, String channelId, String streamId, String callId);
+
+    List<SendRtpItem> querySendRTPServer(String platformGbId);
+
+    /**
+     * 删除RTP推送信息缓存
+     * @param platformGbId
+     * @param channelId
+     */
+    void deleteSendRTPServer(String platformGbId, String channelId, String callId, String streamId);
+
+    /**
+     * 查询某个通道是否存在上级点播(RTP推送)
+     * @param channelId
+     */
+    boolean isChannelSendingRTP(String channelId);
+
+    /**
+     * 清空某个设备的所有缓存
+     * @param deviceId 设备ID
+     */
+    void clearCatchByDeviceId(String deviceId);
+
+    /**
+     * 在redis添加wvp的信息
+     */
+    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);
+
+    /**
+     * 存储推流的鉴权信息
+     * @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);
+}

--
Gitblit v1.9.3