From 59e369e37d52f8822b1abfe8994bf8ff7346c6d4 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 25 十一月 2021 11:04:03 +0800
Subject: [PATCH] 优化兼容接口
---
src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java | 63 +++++++++++++++++++------------
1 files changed, 39 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
index c0332c7..2820721 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -6,9 +6,11 @@
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
import com.genersoft.iot.vmp.media.zlm.dto.MediaItem;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.service.IMediaServerService;
import com.genersoft.iot.vmp.service.IStreamPushService;
+import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.dao.GbStreamMapper;
import com.genersoft.iot.vmp.storager.dao.StreamPushMapper;
import com.github.pagehelper.PageHelper;
@@ -33,8 +35,14 @@
@Autowired
private ZLMRESTfulUtils zlmresTfulUtils;
+ @Autowired
+ private IRedisCatchStorage redisCatchStorage;
+
+ @Autowired
+ private IMediaServerService mediaServerService;
+
@Override
- public List<StreamPushItem> handleJSON(String jsonData) {
+ public List<StreamPushItem> handleJSON(String jsonData, MediaServerItem mediaServerItem) {
if (jsonData == null) return null;
Map<String, StreamPushItem> result = new HashMap<>();
@@ -43,31 +51,37 @@
for (MediaItem item : mediaItems) {
// 涓嶄繚瀛樺浗鏍囨帹鐞嗕互鍙婃媺娴佷唬鐞嗙殑娴�
- if (item.getOriginType() == 3 || item.getOriginType() == 4 || item.getOriginType() == 5) {
- continue;
+ if (item.getOriginType() == 1 || item.getOriginType() == 2 || item.getOriginType() == 8) {
+ String key = item.getApp() + "_" + item.getStream();
+ StreamPushItem streamPushItem = result.get(key);
+ if (streamPushItem == null) {
+ streamPushItem = transform(item);
+ result.put(key, streamPushItem);
+ }
}
- String key = item.getApp() + "_" + item.getStream();
- StreamPushItem streamPushItem = result.get(key);
- if (streamPushItem == null) {
- streamPushItem = new StreamPushItem();
- streamPushItem.setApp(item.getApp());
- streamPushItem.setStream(item.getStream());
- streamPushItem.setAliveSecond(item.getAliveSecond());
- streamPushItem.setCreateStamp(item.getCreateStamp());
- streamPushItem.setOriginSock(item.getOriginSock());
- streamPushItem.setTotalReaderCount(item.getTotalReaderCount());
- streamPushItem.setOriginType(item.getOriginType());
- streamPushItem.setOriginTypeStr(item.getOriginTypeStr());
- streamPushItem.setOriginUrl(item.getOriginUrl());
- streamPushItem.setCreateStamp(item.getCreateStamp());
- streamPushItem.setAliveSecond(item.getAliveSecond());
- streamPushItem.setStatus(true);
- streamPushItem.setVhost(item.getVhost());
- result.put(key, streamPushItem);
- }
+
}
return new ArrayList<>(result.values());
+ }
+ @Override
+ public StreamPushItem transform(MediaItem item) {
+ StreamPushItem streamPushItem = new StreamPushItem();
+ streamPushItem.setApp(item.getApp());
+ streamPushItem.setMediaServerId(item.getMediaServerId());
+ streamPushItem.setStream(item.getStream());
+ streamPushItem.setAliveSecond(item.getAliveSecond());
+ streamPushItem.setCreateStamp(item.getCreateStamp());
+ streamPushItem.setOriginSock(item.getOriginSock());
+ streamPushItem.setTotalReaderCount(item.getTotalReaderCount());
+ streamPushItem.setOriginType(item.getOriginType());
+ streamPushItem.setOriginTypeStr(item.getOriginTypeStr());
+ streamPushItem.setOriginUrl(item.getOriginUrl());
+ streamPushItem.setCreateStamp(item.getCreateStamp());
+ streamPushItem.setAliveSecond(item.getAliveSecond());
+ streamPushItem.setStatus(true);
+ streamPushItem.setVhost(item.getVhost());
+ return streamPushItem;
}
@Override
@@ -88,7 +102,8 @@
@Override
public boolean removeFromGB(GbStream stream) {
int del = gbStreamMapper.del(stream.getApp(), stream.getStream());
- JSONObject mediaList = zlmresTfulUtils.getMediaList(stream.getApp(), stream.getStream());
+ MediaServerItem mediaInfo = mediaServerService.getOne(stream.getMediaServerId());
+ JSONObject mediaList = zlmresTfulUtils.getMediaList(mediaInfo, stream.getApp(), stream.getStream());
if (mediaList == null) {
streamPushMapper.del(stream.getApp(), stream.getStream());
}
--
Gitblit v1.8.0