|  | @@ -19,7 +19,6 @@ import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.media.zlm.dto.hook.OriginType;
 | 
	
		
			
				|  |  | -import com.genersoft.iot.vmp.service.IGbStreamService;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.service.IStreamPushService;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.service.bean.StreamPushItemFromRedis;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
 | 
	
	
		
			
				|  | @@ -116,10 +115,9 @@ public class StreamPushServiceImpl implements IStreamPushService {
 | 
	
		
			
				|  |  |          StreamPush pushInDb = getPush(event.getApp(), event.getStream());
 | 
	
		
			
				|  |  |          if (pushInDb == null) {
 | 
	
		
			
				|  |  |              transform.setCreateTime(DateUtil.getNow());
 | 
	
		
			
				|  |  | -            streamPushMapper.add(transform);
 | 
	
		
			
				|  |  | +            add(transform);
 | 
	
		
			
				|  |  |          }else {
 | 
	
		
			
				|  |  | -            streamPushMapper.update(transform);
 | 
	
		
			
				|  |  | -            gbStreamMapper.updateMediaServer(event.getApp(), event.getStream(), event.getMediaServer().getId());
 | 
	
		
			
				|  |  | +            update(transform);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 冗余数据,自己系统中自用
 | 
	
		
			
				|  |  |          if (!"broadcast".equals(event.getApp()) && !"talk".equals(event.getApp())) {
 | 
	
	
		
			
				|  | @@ -166,14 +164,17 @@ public class StreamPushServiceImpl implements IStreamPushService {
 | 
	
		
			
				|  |  |                  redisCatchStorage.sendStreamChangeMsg(type, jsonObject);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        GbStream gbStream = gbStreamMapper.selectOne(event.getApp(), event.getStream());
 | 
	
		
			
				|  |  | -        if (gbStream != null) {
 | 
	
		
			
				|  |  | +        StreamPush push = getPush(event.getApp(), event.getStream());
 | 
	
		
			
				|  |  | +        push.setPushIng(false);
 | 
	
		
			
				|  |  | +        if (push.getGbDeviceId() != null) {
 | 
	
		
			
				|  |  |              if (userSetting.isUsePushingAsStatus()) {
 | 
	
		
			
				|  |  | -                streamPushMapper.updatePushStatus(event.getApp(), event.getStream(), false);
 | 
	
		
			
				|  |  | -                eventPublisher.catalogEventPublishForStream(null, gbStream, CatalogEvent.OFF);
 | 
	
		
			
				|  |  | +                push.setGbStatus(false);
 | 
	
		
			
				|  |  | +                updateStatus(push);
 | 
	
		
			
				|  |  | +//                streamPushMapper.updatePushStatus(event.getApp(), event.getStream(), false);
 | 
	
		
			
				|  |  | +//                eventPublisher.catalogEventPublishForStream(null, gbStream, CatalogEvent.OFF);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }else {
 | 
	
		
			
				|  |  | -            streamPushMapper.del(event.getApp(), event.getStream());
 | 
	
		
			
				|  |  | +            deleteByAppAndStream(event.getApp(), event.getStream());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -222,31 +223,6 @@ public class StreamPushServiceImpl implements IStreamPushService {
 | 
	
		
			
				|  |  |          return streamPushMapper.selectAllByMediaServerIdWithOutGbID(mediaServerId);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    @Override
 | 
	
		
			
				|  |  | -    public boolean saveToGB(GbStream stream) {
 | 
	
		
			
				|  |  | -        stream.setStreamType("push");
 | 
	
		
			
				|  |  | -        stream.setStatus(true);
 | 
	
		
			
				|  |  | -        stream.setCreateTime(DateUtil.getNow());
 | 
	
		
			
				|  |  | -        stream.setStreamType("push");
 | 
	
		
			
				|  |  | -        stream.setMediaServerId(mediaConfig.getId());
 | 
	
		
			
				|  |  | -        int add = gbStreamMapper.add(stream);
 | 
	
		
			
				|  |  | -        return add > 0;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    @Override
 | 
	
		
			
				|  |  | -    public boolean removeFromGB(GbStream stream) {
 | 
	
		
			
				|  |  | -        // 判断是否需要发送事件
 | 
	
		
			
				|  |  | -        gbStreamService.sendCatalogMsg(stream, CatalogEvent.DEL);
 | 
	
		
			
				|  |  | -        platformGbStreamMapper.delByAppAndStream(stream.getApp(), stream.getStream());
 | 
	
		
			
				|  |  | -        int del = gbStreamMapper.del(stream.getApp(), stream.getStream());
 | 
	
		
			
				|  |  | -        MediaServer mediaInfo = mediaServerService.getOne(stream.getMediaServerId());
 | 
	
		
			
				|  |  | -        List<StreamInfo> mediaList = mediaServerService.getMediaList(mediaInfo, stream.getApp(), stream.getStream(), null);
 | 
	
		
			
				|  |  | -        if (mediaList != null && mediaList.isEmpty()) {
 | 
	
		
			
				|  |  | -            streamPushMapper.del(stream.getApp(), stream.getStream());
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return del > 0;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public StreamPush getPush(String app, String streamId) {
 | 
	
	
		
			
				|  | @@ -255,7 +231,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public boolean stop(String app, String stream) {
 | 
	
		
			
				|  |  | -        logger.info("[推流 ] 停止流: {}/{}", app, stream);
 | 
	
		
			
				|  |  | +        logger.info("[推流] 停止流: {}/{}", app, stream);
 | 
	
		
			
				|  |  |          StreamPush streamPushItem = streamPushMapper.selectOne(app, stream);
 | 
	
		
			
				|  |  |          if (streamPushItem != null) {
 | 
	
		
			
				|  |  |              gbStreamService.sendCatalogMsg(streamPushItem, CatalogEvent.DEL);
 | 
	
	
		
			
				|  | @@ -595,6 +571,11 @@ public class StreamPushServiceImpl implements IStreamPushService {
 | 
	
		
			
				|  |  |          return result;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public boolean update(StreamPush stream) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public List<String> getAllAppAndStream() {
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -635,4 +616,16 @@ public class StreamPushServiceImpl implements IStreamPushService {
 | 
	
		
			
				|  |  |              gbStreamMapper.updateMediaServer(param.getApp(), param.getStream(), param.getMediaServerId());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void updateStatus(StreamPush push) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void deleteByAppAndStream(String app, String stream) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |