648540858
2023-08-16 985082d33930868c3cc1723f28fd9aaae9013a8f
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
old mode 100644 new mode 100755
@@ -140,15 +140,21 @@
         if (allChannelMap.containsKey(deviceChannel.getChannelId())) {
            deviceChannel.setStreamId(allChannelMap.get(deviceChannel.getChannelId()).getStreamId());
            deviceChannel.setHasAudio(allChannelMap.get(deviceChannel.getChannelId()).isHasAudio());
            if (allChannelMap.get(deviceChannel.getChannelId()).getStatus() !=deviceChannel.getStatus()){
            if (allChannelMap.get(deviceChannel.getChannelId()).isStatus() !=deviceChannel.isStatus()){
               List<String> strings = platformChannelMapper.queryParentPlatformByChannelId(deviceChannel.getChannelId());
               if (!CollectionUtils.isEmpty(strings)){
                  strings.forEach(platformId->{
                     eventPublisher.catalogEventPublish(platformId, deviceChannel, deviceChannel.getStatus()==1?CatalogEvent.ON:CatalogEvent.OFF);
                     eventPublisher.catalogEventPublish(platformId, deviceChannel, deviceChannel.isStatus()?CatalogEvent.ON:CatalogEvent.OFF);
                  });
               }
            }
            deviceChannel.setUpdateTime(DateUtil.getNow());
            updateChannels.add(deviceChannel);
         }else {
            deviceChannel.setCreateTime(DateUtil.getNow());
            deviceChannel.setUpdateTime(DateUtil.getNow());
            addChannels.add(deviceChannel);
         }
         channels.add(deviceChannel);
         if (!ObjectUtils.isEmpty(deviceChannel.getParentId())) {
@@ -807,7 +813,7 @@
                  if (platformCatalog.getParentId().length() <= 8) {
                     platformCatalog.setCivilCode(platformCatalog.getParentId());
                  }else {
                     PlatformCatalog catalog = catalogMapper.select(platformCatalog.getParentId());
                     PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platformCatalog.getPlatformId(), platformCatalog.getParentId());
                     if (catalog != null) {
                        platformCatalog.setCivilCode(catalog.getCivilCode());
                     }
@@ -817,7 +823,7 @@
                  if (platformCatalog.getParentId().length() <= 8) {
                     platformCatalog.setCivilCode(platformCatalog.getParentId());
                  }else {
                     PlatformCatalog catalog = catalogMapper.select(platformCatalog.getParentId());
                     PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platformCatalog.getPlatformId(),platformCatalog.getParentId());
                     if (catalog == null) {
                        logger.warn("[添加目录] 无法获取目录{}的CivilCode和BusinessGroupId", platformCatalog.getPlatformId());
                        break;
@@ -846,7 +852,7 @@
   }
   private PlatformCatalog getTopCatalog(String id, String platformId) {
      PlatformCatalog catalog = catalogMapper.selectParentCatalog(id);
      PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platformId, id);
      if (catalog.getParentId().equals(platformId)) {
         return catalog;
      }else {
@@ -855,27 +861,16 @@
   }
   @Override
   public PlatformCatalog getCatalog(String id) {
      return catalogMapper.select(id);
   public PlatformCatalog getCatalog(String platformId, String id) {
      return catalogMapper.selectByPlatFormAndCatalogId(platformId, id);
   }
   @Override
   public int delCatalog(String id) {
      PlatformCatalog platformCatalog = catalogMapper.select(id);
      if (platformCatalog.getChildrenCount() > 0) {
         List<PlatformCatalog> platformCatalogList = catalogMapper.selectByParentId(platformCatalog.getPlatformId(), platformCatalog.getId());
         for (PlatformCatalog catalog : platformCatalogList) {
            if (catalog.getChildrenCount() == 0) {
               delCatalogExecute(catalog.getId(), catalog.getPlatformId());
            }else {
               delCatalog(catalog.getId());
            }
         }
      }
      return delCatalogExecute(id, platformCatalog.getPlatformId());
   public int delCatalog(String platformId, String id) {
      return delCatalogExecute(id, platformId);
   }
   private int delCatalogExecute(String id, String platformId) {
      int delresult =  catalogMapper.del(id);
      int delresult =  catalogMapper.del(platformId, id);
      DeviceChannel deviceChannelForCatalog = new DeviceChannel();
      if (delresult > 0){
         deviceChannelForCatalog.setChannelId(id);
@@ -892,7 +887,7 @@
         }
         eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
      }
      int delStreamresult = platformGbStreamMapper.delByCatalogId(id);
      int delStreamresult = platformGbStreamMapper.delByPlatformAndCatalogId(platformId,id);
      List<PlatformCatalog> platformCatalogs = platformChannelMapper.queryChannelInParentPlatformAndCatalog(platformId, id);
      if (platformCatalogs.size() > 0){
         List<DeviceChannel> deviceChannelList = new ArrayList<>();
@@ -903,7 +898,7 @@
         }
         eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
      }
      int delChannelresult = platformChannelMapper.delByCatalogId(id);
      int delChannelresult = platformChannelMapper.delByCatalogId(platformId, id);
      return delresult + delChannelresult + delStreamresult;
   }