|
@@ -3,15 +3,19 @@ package com.genersoft.iot.vmp.service.impl;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.genersoft.iot.vmp.common.StreamInfo;
|
|
import com.genersoft.iot.vmp.common.StreamInfo;
|
|
|
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
|
|
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
|
|
|
|
|
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
|
|
|
import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
|
|
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.MediaServerItem;
|
|
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
|
|
|
import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
|
|
import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
|
|
|
|
|
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
|
|
|
import com.genersoft.iot.vmp.service.IGbStreamService;
|
|
import com.genersoft.iot.vmp.service.IGbStreamService;
|
|
|
import com.genersoft.iot.vmp.service.IMediaServerService;
|
|
import com.genersoft.iot.vmp.service.IMediaServerService;
|
|
|
import com.genersoft.iot.vmp.service.IMediaService;
|
|
import com.genersoft.iot.vmp.service.IMediaService;
|
|
|
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
|
|
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
|
|
|
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
|
|
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
|
|
|
import com.genersoft.iot.vmp.storager.dao.GbStreamMapper;
|
|
import com.genersoft.iot.vmp.storager.dao.GbStreamMapper;
|
|
|
|
|
+import com.genersoft.iot.vmp.storager.dao.ParentPlatformMapper;
|
|
|
import com.genersoft.iot.vmp.storager.dao.PlatformGbStreamMapper;
|
|
import com.genersoft.iot.vmp.storager.dao.PlatformGbStreamMapper;
|
|
|
import com.genersoft.iot.vmp.storager.dao.StreamProxyMapper;
|
|
import com.genersoft.iot.vmp.storager.dao.StreamProxyMapper;
|
|
|
import com.genersoft.iot.vmp.service.IStreamProxyService;
|
|
import com.genersoft.iot.vmp.service.IStreamProxyService;
|
|
@@ -21,6 +25,7 @@ import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -51,6 +56,9 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private PlatformGbStreamMapper platformGbStreamMapper;
|
|
private PlatformGbStreamMapper platformGbStreamMapper;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ParentPlatformMapper parentPlatformMapper;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IGbStreamService gbStreamService;
|
|
private IGbStreamService gbStreamService;
|
|
|
|
|
|
|
@@ -112,7 +120,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
|
|
|
}else {
|
|
}else {
|
|
|
result.append("保存失败");
|
|
result.append("保存失败");
|
|
|
}
|
|
}
|
|
|
- if (param.getPlatformGbId() != null && streamLive) {
|
|
|
|
|
|
|
+ if ( !StringUtils.isEmpty(param.getPlatformGbId()) && streamLive) {
|
|
|
List<GbStream> gbStreams = new ArrayList<>();
|
|
List<GbStream> gbStreams = new ArrayList<>();
|
|
|
gbStreams.add(param);
|
|
gbStreams.add(param);
|
|
|
if (gbStreamService.addPlatformInfo(gbStreams, param.getPlatformGbId())){
|
|
if (gbStreamService.addPlatformInfo(gbStreams, param.getPlatformGbId())){
|
|
@@ -121,6 +129,18 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
|
|
|
result.append(", 关联国标平台[ " + param.getPlatformGbId() + " ]失败");
|
|
result.append(", 关联国标平台[ " + param.getPlatformGbId() + " ]失败");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ // 查找开启了全部直播流共享的上级平台
|
|
|
|
|
+ List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
|
|
|
|
|
+ if (parentPlatforms.size() > 0) {
|
|
|
|
|
+ for (ParentPlatform parentPlatform : parentPlatforms) {
|
|
|
|
|
+ param.setPlatformId(parentPlatform.getServerGBId());
|
|
|
|
|
+ String stream = param.getStream();
|
|
|
|
|
+ StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(param.getApp(), stream, parentPlatform.getServerGBId());
|
|
|
|
|
+ if (streamProxyItems == null) {
|
|
|
|
|
+ platformGbStreamMapper.add(param);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
wvpResult.setMsg(result.toString());
|
|
wvpResult.setMsg(result.toString());
|
|
|
return wvpResult;
|
|
return wvpResult;
|
|
|
}
|
|
}
|