From 8da6906e40c8a96a94624b468833bebc2c3a3d5c Mon Sep 17 00:00:00 2001
From: Lawrence <1934378145@qq.com>
Date: 星期三, 20 一月 2021 20:43:40 +0800
Subject: [PATCH] 修改功能说明
---
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 149 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 145 insertions(+), 4 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 01ed247..dac0aa2 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
@@ -3,17 +3,22 @@
import java.util.*;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
+import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
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 io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
-import org.springframework.util.StringUtils;
+import org.springframework.transaction.annotation.Transactional;
/**
* @Description:瑙嗛璁惧鏁版嵁瀛樺偍-jdbc瀹炵幇
@@ -28,6 +33,17 @@
@Autowired
private DeviceChannelMapper deviceChannelMapper;
+
+ @Autowired
+ private ParentPlatformMapper platformMapper;
+
+ @Autowired
+ private IRedisCatchStorage redisCatchStorage;
+
+ @Autowired
+ private PatformChannelMapper patformChannelMapper;
+
+
/**
@@ -83,6 +99,16 @@
}
}
+ @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);
+ }
+
/**
* 鑾峰彇璁惧
*
@@ -101,8 +127,6 @@
List<DeviceChannel> all = deviceChannelMapper.queryChannelsByDeviceId(deviceId, null, query, hasSubChannel, online);
return new PageInfo<>(all);
}
-
-
@Override
public List<DeviceChannel> queryChannelsByDeviceId(String deviceId) {
@@ -198,5 +222,122 @@
int result = deviceChannelMapper.cleanChannelsByDeviceId(deviceId);
}
+ @Override
+ public boolean addParentPlatform(ParentPlatform parentPlatform) {
+ int result = platformMapper.addParentPlatform(parentPlatform);
+ return result > 0;
+ }
+ @Override
+ public boolean updateParentPlatform(ParentPlatform parentPlatform) {
+ int result = 0;
+ 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.getServerGBId());
+ }
+ }else {
+ result = platformMapper.updateParentPlatform(parentPlatform);
+ }
+ // 鏇存柊缂撳瓨
+ parentPlatformCatch.setParentPlatform(parentPlatform);
+ redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch);
+ return result > 0;
+ }
+
+ @Transactional
+ @Override
+ public boolean deleteParentPlatform(ParentPlatform parentPlatform) {
+ int result = platformMapper.delParentPlatform(parentPlatform);
+ // 鍒犻櫎鍏宠仈鐨勯�氶亾
+ patformChannelMapper.cleanChannelForGB(parentPlatform.getServerGBId());
+ return result > 0;
+ }
+
+ @Override
+ public PageInfo<ParentPlatform> queryParentPlatformList(int page, int count) {
+ PageHelper.startPage(page, count);
+ List<ParentPlatform> all = platformMapper.getParentPlatformList();
+ return new PageInfo<>(all);
+ }
+
+ @Override
+ public ParentPlatform queryParentPlatById(String platformGbId) {
+ return platformMapper.getParentPlatById(platformGbId);
+ }
+
+ @Override
+ public List<ParentPlatform> queryEnableParentPlatformList(boolean enable) {
+ return platformMapper.getEnableParentPlatformList(enable);
+ }
+
+ @Override
+ 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;
+ }
+
+ @Override
+ public DeviceChannel queryChannelInParentPlatform(String platformId, String channelId) {
+ DeviceChannel channel = patformChannelMapper.queryChannelInParentPlatform(platformId, channelId);
+ return channel;
+ }
+
+ @Override
+ public Device queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId) {
+ return null;
+ }
}
--
Gitblit v1.8.0