| 
					
				 | 
			
			
				@@ -3,15 +3,19 @@ package com.genersoft.iot.vmp.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.genersoft.iot.vmp.common.StreamInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.dto.MediaItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.StreamPushItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.genersoft.iot.vmp.service.IGbStreamService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.genersoft.iot.vmp.service.IMediaServerService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.genersoft.iot.vmp.service.IMediaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.genersoft.iot.vmp.storager.IRedisCatchStorage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.genersoft.iot.vmp.storager.IVideoManagerStorager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.StreamProxyMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.genersoft.iot.vmp.service.IStreamProxyService; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -21,6 +25,7 @@ import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -51,6 +56,9 @@ public class StreamProxyServiceImpl implements IStreamProxyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private PlatformGbStreamMapper platformGbStreamMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ParentPlatformMapper parentPlatformMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private IGbStreamService gbStreamService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -112,7 +120,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.append("保存失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (param.getPlatformGbId() != null && streamLive) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ( !StringUtils.isEmpty(param.getPlatformGbId()) && streamLive) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<GbStream> gbStreams = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             gbStreams.add(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (gbStreamService.addPlatformInfo(gbStreams, param.getPlatformGbId())){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,6 +129,18 @@ public class StreamProxyServiceImpl implements IStreamProxyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return wvpResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |