648540858
2022-03-15 11d40d3e220a3f12453136fedbbdc99f93c6c1b1
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -14,6 +14,7 @@
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
import com.genersoft.iot.vmp.storager.dao.*;
import com.genersoft.iot.vmp.storager.dao.dto.ChannelSourceInfo;
import com.genersoft.iot.vmp.utils.node.ForestNodeMerger;
import com.genersoft.iot.vmp.vmanager.bean.DeviceChannelTree;
import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
@@ -41,7 +42,7 @@
@Component
public class VideoManagerStoragerImpl implements IVideoManagerStorager {
   private Logger logger = LoggerFactory.getLogger(VideoManagerStoragerImpl.class);
   private final Logger logger = LoggerFactory.getLogger(VideoManagerStoragerImpl.class);
   @Autowired
   EventPublisher eventPublisher;
@@ -170,6 +171,7 @@
      }else {
         deviceChannelMapper.update(channel);
      }
      deviceChannelMapper.updateChannelSubCount(deviceId,channel.getParentId());
   }
   @Override
@@ -283,7 +285,8 @@
         logger.debug("[目录查询]收到的数据存在重复: {}" , stringBuilder);
      }
      try {
         int cleanChannelsResult = deviceChannelMapper.cleanChannelsByDeviceId(deviceId);
//         int cleanChannelsResult = deviceChannelMapper.cleanChannelsByDeviceId(deviceId);
         int cleanChannelsResult = deviceChannelMapper.cleanChannelsNotInList(deviceId, channels);
         int limitCount = 300;
         boolean result = cleanChannelsResult < 0;
         if (!result && channels.size() > 0) {
@@ -540,7 +543,7 @@
         if (parentPlatformCatch == null) { // serverGBId 已变化
            ParentPlatform parentPlatById = platformMapper.getParentPlatById(parentPlatform.getId());
            // 使用旧的查出缓存ID
            parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatById.getServerGBId());
            parentPlatformCatch = new ParentPlatformCatch();
            parentPlatformCatch.setId(parentPlatform.getServerGBId());
            redisCatchStorage.delPlatformCatchInfo(parentPlatById.getServerGBId());
         }
@@ -660,8 +663,16 @@
   @Override
   public DeviceChannel queryChannelInParentPlatform(String platformId, String channelId) {
      DeviceChannel channel = platformChannelMapper.queryChannelInParentPlatform(platformId, channelId);
      return channel;
      List<DeviceChannel> channels = platformChannelMapper.queryChannelInParentPlatform(platformId, channelId);
      if (channels.size() > 1) {
         // 出现长度大于0的时候肯定是国标通道的ID重复了
         logger.warn("国标ID存在重复:{}", channelId);
      }
      if (channels.size() == 0) {
         return null;
      }else {
         return channels.get(0);
      }
   }
   @Override
@@ -678,8 +689,18 @@
   @Override
   public Device queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId) {
      Device device = platformChannelMapper.queryVideoDeviceByPlatformIdAndChannelId(platformId, channelId);
      return device;
      List<Device> devices = platformChannelMapper.queryVideoDeviceByPlatformIdAndChannelId(platformId, channelId);
      if (devices.size() > 1) {
         // 出现长度大于0的时候肯定是国标通道的ID重复了
         logger.warn("国标ID存在重复:{}", channelId);
      }
      if (devices.size() == 0) {
         return null;
      }else {
         return devices.get(0);
      }
   }
   /**
@@ -716,7 +737,7 @@
      try {
         if (streamProxyMapper.add(streamProxyItem) > 0) {
            if (!StringUtils.isEmpty(streamProxyItem.getGbId())) {
               if (gbStreamMapper.add(streamProxyItem) > 0) {
               if (gbStreamMapper.add(streamProxyItem) < 0) {
                  //事务回滚
                  dataSourceTransactionManager.rollback(transactionStatus);
                  return false;
@@ -1081,6 +1102,9 @@
   @Override
   public List<ParentPlatform> queryPlatFormListForStreamWithGBId(String app, String stream, List<String> platforms) {
      if (platforms == null || platforms.size() == 0) {
         return new ArrayList<>();
      }
      return platformGbStreamMapper.queryPlatFormListForGBWithGBId(app, stream, platforms);
   }
@@ -1104,4 +1128,9 @@
   public PlatformCatalog queryDefaultCatalogInPlatform(String platformId) {
      return catalogMapper.selectDefaultByPlatFormId(platformId);
   }
   @Override
   public List<ChannelSourceInfo> getChannelSource(String platformId, String gbId) {
      return platformMapper.getChannelSource(platformId, gbId);
   }
}