|  | @@ -1,20 +1,26 @@
 | 
	
		
			
				|  |  |  package com.genersoft.iot.vmp.media.abl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson2.JSONObject;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.common.CommonCallback;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.common.StreamInfo;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.media.bean.MediaInfo;
 | 
	
		
			
				|  |  | -import com.genersoft.iot.vmp.media.service.IMediaNodeServerService;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.media.bean.MediaServer;
 | 
	
		
			
				|  |  | +import com.genersoft.iot.vmp.media.service.IMediaNodeServerService;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
 | 
	
		
			
				|  |  | +import org.slf4j.Logger;
 | 
	
		
			
				|  |  | +import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import java.util.HashMap;
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
		
			
				|  |  |  import java.util.Map;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  @Service("abl")
 | 
	
		
			
				|  |  |  public class ABLMediaNodeServerService implements IMediaNodeServerService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private final static Logger logger = LoggerFactory.getLogger(ABLMediaNodeServerService.class);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private ABLRESTfulUtils ablresTfulUtils;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -24,13 +30,28 @@ public class ABLMediaNodeServerService implements IMediaNodeServerService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    public void closeRtpServer(MediaServer mediaServerItem, String streamId) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    public void closeRtpServer(MediaServer mediaServer, String streamId) {
 | 
	
		
			
				|  |  | +        closeRtpServer(mediaServer, streamId, null);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    public void closeRtpServer(MediaServer mediaServerItem, String streamId, CommonCallback<Boolean> callback) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    public void closeRtpServer(MediaServer serverItem, String streamId, CommonCallback<Boolean> callback) {
 | 
	
		
			
				|  |  | +       if (serverItem == null) {
 | 
	
		
			
				|  |  | +           return;
 | 
	
		
			
				|  |  | +       }
 | 
	
		
			
				|  |  | +        Map<String, Object> param = new HashMap<>();
 | 
	
		
			
				|  |  | +        param.put("stream_id", streamId);
 | 
	
		
			
				|  |  | +        param.put("force", 1);
 | 
	
		
			
				|  |  | +        JSONObject jsonObject = ablresTfulUtils.closeStreams(serverItem, "rtp", streamId);
 | 
	
		
			
				|  |  | +        logger.info("关闭RTP Server " +  jsonObject);
 | 
	
		
			
				|  |  | +        if (jsonObject != null ) {
 | 
	
		
			
				|  |  | +            if (jsonObject.getInteger("code") != 0) {
 | 
	
		
			
				|  |  | +                logger.error("关闭RTP Server 失败: " + jsonObject.getString("msg"));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }else {
 | 
	
		
			
				|  |  | +            //  检查ZLM状态
 | 
	
		
			
				|  |  | +            logger.error("关闭RTP Server 失败: 请检查ZLM服务");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 |