old mode 100644
new mode 100755
 |  |  | 
 |  |  |       TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); | 
 |  |  |       // 数据去重 | 
 |  |  |       List<DeviceChannel> channels = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |       List<DeviceChannel> updateChannels = new ArrayList<>(); | 
 |  |  |       List<DeviceChannel> addChannels = new ArrayList<>(); | 
 |  |  |       StringBuilder stringBuilder = new StringBuilder(); | 
 |  |  |       Map<String, Integer> subContMap = new HashMap<>(); | 
 |  |  |  | 
 |  |  | 
 |  |  |          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())) { | 
 |  |  | 
 |  |  |       } | 
 |  |  |       try { | 
 |  |  |          int cleanChannelsResult = deviceChannelMapper.cleanChannelsNotInList(deviceId, channels); | 
 |  |  |  | 
 |  |  |          int limitCount = 300; | 
 |  |  |          boolean result = cleanChannelsResult < 0; | 
 |  |  |          if (!result && channels.size() > 0) { | 
 |  |  |             if (channels.size() > limitCount) { | 
 |  |  |                for (int i = 0; i < channels.size(); i += limitCount) { | 
 |  |  |          if (!result && addChannels.size() > 0) { | 
 |  |  |             if (addChannels.size() > limitCount) { | 
 |  |  |                for (int i = 0; i < addChannels.size(); i += limitCount) { | 
 |  |  |                   int toIndex = i + limitCount; | 
 |  |  |                   if (i + limitCount > channels.size()) { | 
 |  |  |                      toIndex = channels.size(); | 
 |  |  |                   if (i + limitCount > addChannels.size()) { | 
 |  |  |                      toIndex = addChannels.size(); | 
 |  |  |                   } | 
 |  |  |                   result = result || deviceChannelMapper.batchAddOrUpdate(channels.subList(i, toIndex)) < 0; | 
 |  |  |                   result = result || deviceChannelMapper.batchAdd(addChannels.subList(i, toIndex)) < 0; | 
 |  |  |                } | 
 |  |  |             }else { | 
 |  |  |                result = result || deviceChannelMapper.batchAddOrUpdate(channels) < 0; | 
 |  |  |                result = result || deviceChannelMapper.batchAdd(addChannels) < 0; | 
 |  |  |             } | 
 |  |  |          } | 
 |  |  |          if (!result && updateChannels.size() > 0) { | 
 |  |  |             if (updateChannels.size() > limitCount) { | 
 |  |  |                for (int i = 0; i < updateChannels.size(); i += limitCount) { | 
 |  |  |                   int toIndex = i + limitCount; | 
 |  |  |                   if (i + limitCount > updateChannels.size()) { | 
 |  |  |                      toIndex = updateChannels.size(); | 
 |  |  |                   } | 
 |  |  |                   result = result || deviceChannelMapper.batchUpdate(updateChannels.subList(i, toIndex)) < 0; | 
 |  |  |                } | 
 |  |  |             }else { | 
 |  |  |                result = result || deviceChannelMapper.batchUpdate(updateChannels) < 0; | 
 |  |  |             } | 
 |  |  |          } | 
 |  |  |  | 
 |  |  |          if (result) { | 
 |  |  |             //事务回滚 | 
 |  |  |             dataSourceTransactionManager.rollback(transactionStatus); | 
 |  |  | 
 |  |  |                   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()); | 
 |  |  |                      } | 
 |  |  | 
 |  |  |                   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; | 
 |  |  | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    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 { | 
 |  |  | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    @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); | 
 |  |  | 
 |  |  |          } | 
 |  |  |          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<>(); | 
 |  |  | 
 |  |  |          } | 
 |  |  |          eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL); | 
 |  |  |       } | 
 |  |  |       int delChannelresult = platformChannelMapper.delByCatalogId(id); | 
 |  |  |       int delChannelresult = platformChannelMapper.delByCatalogId(platformId, id); | 
 |  |  |       return delresult + delChannelresult + delStreamresult; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | 
 |  |  |       deviceChannel.setName(catalog.getName()); | 
 |  |  |       deviceChannel.setDeviceId(platform.getDeviceGBId()); | 
 |  |  |       deviceChannel.setManufacture("wvp-pro"); | 
 |  |  |       deviceChannel.setStatus(1); | 
 |  |  |       deviceChannel.setStatus(true); | 
 |  |  |       deviceChannel.setParental(1); | 
 |  |  |  | 
 |  |  |       deviceChannel.setRegisterWay(1); |