From 1b200bcc904d088b31ceaf1e9261b5433d9322a6 Mon Sep 17 00:00:00 2001 From: Lawrence <1934378145@qq.com> Date: 星期五, 15 一月 2021 00:00:45 +0800 Subject: [PATCH] 将上级平台标识改为serverGBId --- src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 75 ++++++++++++++++++++++++++++++++++++- 1 files changed, 72 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java index 21dd031..4547d76 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java @@ -9,6 +9,8 @@ import com.genersoft.iot.vmp.storager.dao.DeviceChannelMapper; import com.genersoft.iot.vmp.storager.dao.DeviceMapper; import com.genersoft.iot.vmp.storager.dao.ParentPlatformMapper; +import com.genersoft.iot.vmp.storager.dao.PatformChannelMapper; +import com.genersoft.iot.vmp.vmanager.platform.bean.ChannelReduce; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; @@ -16,6 +18,7 @@ import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; +import org.springframework.transaction.annotation.Transactional; /** * @Description:瑙嗛璁惧鏁版嵁瀛樺偍-jdbc瀹炵幇 @@ -36,6 +39,9 @@ @Autowired private IRedisCatchStorage redisCatchStorage; + + @Autowired + private PatformChannelMapper patformChannelMapper; @@ -91,6 +97,16 @@ }else { deviceChannelMapper.update(channel); } + } + + @Override + public void startPlay(String deviceId, String channelId, String streamId) { + deviceChannelMapper.startPlay(deviceId, channelId, streamId); + } + + @Override + public void stopPlay(String deviceId, String channelId) { + deviceChannelMapper.stopPlay(deviceId, channelId); } /** @@ -215,14 +231,14 @@ @Override public boolean updateParentPlatform(ParentPlatform parentPlatform) { int result = 0; - ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getDeviceGBId()); - if ( platformMapper.getParentPlatById(parentPlatform.getDeviceGBId()) == null) { + ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(parentPlatform.getServerGBId()); // .getDeviceGBId()); + if ( platformMapper.getParentPlatById(parentPlatform.getServerGBId()) == null) { result = platformMapper.addParentPlatform(parentPlatform); if (parentPlatformCatch == null) { parentPlatformCatch = new ParentPlatformCatch(); parentPlatformCatch.setParentPlatform(parentPlatform); - parentPlatformCatch.setId(parentPlatform.getDeviceGBId()); + parentPlatformCatch.setId(parentPlatform.getServerGBId()); } }else { result = platformMapper.updateParentPlatform(parentPlatform); @@ -233,9 +249,12 @@ return result > 0; } + @Transactional @Override public boolean deleteParentPlatform(ParentPlatform parentPlatform) { int result = platformMapper.delParentPlatform(parentPlatform); + // 鍒犻櫎鍏宠仈鐨勯�氶亾 + patformChannelMapper.cleanChannelForGB(parentPlatform.getDeviceGBId()); return result > 0; } @@ -260,4 +279,54 @@ public void outlineForAllParentPlatform() { platformMapper.outlineForAllParentPlatform(); } + + + @Override + public PageInfo<ChannelReduce> queryAllChannelList(int page, int count, String query, Boolean online, + Boolean channelType, String platformId, Boolean inPlatform) { + PageHelper.startPage(page, count); + List<ChannelReduce> all = deviceChannelMapper.queryChannelListInAll(query, online, channelType, platformId, inPlatform); + return new PageInfo<>(all); + } + + @Override + public List<ChannelReduce> queryChannelListInParentPlatform(String platformId) { + + return deviceChannelMapper.queryChannelListInAll(null, null, null, platformId, true); + } + + @Override + public int updateChannelForGB(String platformId, List<ChannelReduce> channelReduces) { + + Map<String, ChannelReduce> deviceAndChannels = new HashMap<>(); + for (ChannelReduce channelReduce : channelReduces) { + deviceAndChannels.put(channelReduce.getDeviceId() + "_" + channelReduce.getChannelId(), channelReduce); + } + List<String> deviceAndChannelList = new ArrayList<>(deviceAndChannels.keySet()); + // 鏌ヨ褰撳墠宸茬粡瀛樺湪鐨� + List<String> relatedPlatformchannels = patformChannelMapper.findChannelRelatedPlatform(platformId, deviceAndChannelList); + if (relatedPlatformchannels != null) { + deviceAndChannelList.removeAll(relatedPlatformchannels); + } + for (String relatedPlatformchannel : relatedPlatformchannels) { + deviceAndChannels.remove(relatedPlatformchannel); + } + List<ChannelReduce> channelReducesToAdd = new ArrayList<>(deviceAndChannels.values()); + // 瀵瑰墿涓嬬殑鏁版嵁杩涜瀛樺偍 + int result = 0; + if (channelReducesToAdd.size() > 0) { + result = patformChannelMapper.addChannels(platformId, channelReducesToAdd); + } + + return result; + } + + + @Override + public int delChannelForGB(String platformId, List<ChannelReduce> channelReduces) { + + int result = patformChannelMapper.delChannelForGB(platformId, channelReduces); + + return result; + } } -- Gitblit v1.8.0