|  |  |  | 
|---|
|  |  |  | import org.springframework.util.StringUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.concurrent.ConcurrentHashMap; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 视频设备数据存储-jdbc实现 | 
|---|
|  |  |  | 
|---|
|  |  |  | if (deviceChannelList == null) { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<DeviceChannel> allChannelInPlay = deviceChannelMapper.getAllChannelInPlay(); | 
|---|
|  |  |  | Map<String,DeviceChannel> allChannelMapInPlay = new ConcurrentHashMap<>(); | 
|---|
|  |  |  | if (allChannelInPlay.size() > 0) { | 
|---|
|  |  |  | for (DeviceChannel deviceChannel : allChannelInPlay) { | 
|---|
|  |  |  | allChannelMapInPlay.put(deviceChannel.getChannelId(), deviceChannel); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); | 
|---|
|  |  |  | // 数据去重 | 
|---|
|  |  |  | List<DeviceChannel> channels = new ArrayList<>(); | 
|---|
|  |  |  | StringBuilder stringBuilder = new StringBuilder(); | 
|---|
|  |  |  | Map<String, Integer> subContMap = new HashMap<>(); | 
|---|
|  |  |  | if (deviceChannelList != null && deviceChannelList.size() > 1) { | 
|---|
|  |  |  | if (deviceChannelList.size() > 1) { | 
|---|
|  |  |  | // 数据去重 | 
|---|
|  |  |  | Set<String> gbIdSet = new HashSet<>(); | 
|---|
|  |  |  | for (DeviceChannel deviceChannel : deviceChannelList) { | 
|---|
|  |  |  | if (!gbIdSet.contains(deviceChannel.getChannelId())) { | 
|---|
|  |  |  | gbIdSet.add(deviceChannel.getChannelId()); | 
|---|
|  |  |  | if (allChannelMapInPlay.containsKey(deviceChannel.getChannelId())) { | 
|---|
|  |  |  | deviceChannel.setStreamId(allChannelMapInPlay.get(deviceChannel.getChannelId()).getStreamId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | channels.add(deviceChannel); | 
|---|
|  |  |  | if (!StringUtils.isEmpty(deviceChannel.getParentId())) { | 
|---|
|  |  |  | if (subContMap.get(deviceChannel.getParentId()) == null) { | 
|---|