From 9d56da5680fe1bb78a928d3f5f747b90a2364248 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 16 八月 2023 01:57:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java | 185 ++++++++++++++++++++++++---------------------
1 files changed, 99 insertions(+), 86 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
old mode 100644
new mode 100755
index f73339d..1f6bb62
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -128,51 +128,56 @@
List<DeviceChannel> addChannels = new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
Map<String, Integer> subContMap = new HashMap<>();
- if (deviceChannelList.size() > 0) {
- // 鏁版嵁鍘婚噸
- Set<String> gbIdSet = new HashSet<>();
- for (DeviceChannel deviceChannel : deviceChannelList) {
- if (!gbIdSet.contains(deviceChannel.getChannelId())) {
- gbIdSet.add(deviceChannel.getChannelId());
- deviceChannel.setUpdateTime(DateUtil.getNow());
- if (allChannelMap.containsKey(deviceChannel.getChannelId())) {
- deviceChannel.setStreamId(allChannelMap.get(deviceChannel.getChannelId()).getStreamId());
- deviceChannel.setHasAudio(allChannelMap.get(deviceChannel.getChannelId()).isHasAudio());
- 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.isStatus()?CatalogEvent.ON:CatalogEvent.OFF);
- });
- }
- }
- updateChannels.add(deviceChannel);
- }else {
- deviceChannel.setCreateTime(DateUtil.getNow());
- addChannels.add(deviceChannel);
- }
- channels.add(deviceChannel);
- if (!ObjectUtils.isEmpty(deviceChannel.getParentId())) {
- if (subContMap.get(deviceChannel.getParentId()) == null) {
- subContMap.put(deviceChannel.getParentId(), 1);
- }else {
- Integer count = subContMap.get(deviceChannel.getParentId());
- subContMap.put(deviceChannel.getParentId(), count++);
- }
- }
- }else {
- stringBuilder.append(deviceChannel.getChannelId()).append(",");
- }
- }
- if (channels.size() > 0) {
- for (DeviceChannel channel : channels) {
- if (subContMap.get(channel.getChannelId()) != null){
- channel.setSubCount(subContMap.get(channel.getChannelId()));
- }
- }
- }
+ // 鏁版嵁鍘婚噸
+ Set<String> gbIdSet = new HashSet<>();
+ for (DeviceChannel deviceChannel : deviceChannelList) {
+ if (gbIdSet.contains(deviceChannel.getChannelId())) {
+ stringBuilder.append(deviceChannel.getChannelId()).append(",");
+ continue;
+ }
+ gbIdSet.add(deviceChannel.getChannelId());
+ if (allChannelMap.containsKey(deviceChannel.getChannelId())) {
+ deviceChannel.setStreamId(allChannelMap.get(deviceChannel.getChannelId()).getStreamId());
+ deviceChannel.setHasAudio(allChannelMap.get(deviceChannel.getChannelId()).isHasAudio());
+ 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.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())) {
+ if (subContMap.get(deviceChannel.getParentId()) == null) {
+ subContMap.put(deviceChannel.getParentId(), 1);
+ }else {
+ Integer count = subContMap.get(deviceChannel.getParentId());
+ subContMap.put(deviceChannel.getParentId(), count++);
+ }
+ }
}
+ if (channels.size() > 0) {
+ for (DeviceChannel channel : channels) {
+ if (subContMap.get(channel.getChannelId()) != null){
+ Integer count = subContMap.get(channel.getChannelId());
+ if (count > 0) {
+ channel.setSubCount(count);
+ channel.setParental(1);
+ }
+ }
+ }
+ }
+
if (stringBuilder.length() > 0) {
logger.info("[鐩綍鏌ヨ]鏀跺埌鐨勬暟鎹瓨鍦ㄩ噸澶嶏細 {}" , stringBuilder);
}
@@ -795,25 +800,49 @@
if (platform == null) {
return 0;
}
- if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)) {
- if (platform.getDeviceGBId().equals(platformCatalog.getParentId())) {
- // 绗竴灞傝妭鐐�
- platformCatalog.setBusinessGroupId(platformCatalog.getId());
- platformCatalog.setParentId(platform.getDeviceGBId());
- }else {
- // 鑾峰彇椤跺眰鐨�
- PlatformCatalog topCatalog = getTopCatalog(platformCatalog.getParentId(), platform.getDeviceGBId());
- platformCatalog.setBusinessGroupId(topCatalog.getId());
+ if (platformCatalog.getId().length() <= 8) {
+ platformCatalog.setCivilCode(platformCatalog.getParentId());
+ }else {
+ if (platformCatalog.getId().length() != 20) {
+ return 0;
+ }
+ if (platformCatalog.getParentId() != null) {
+ switch (Integer.parseInt(platformCatalog.getId().substring(10, 13))){
+ case 200:
+ case 215:
+ if (platformCatalog.getParentId().length() <= 8) {
+ platformCatalog.setCivilCode(platformCatalog.getParentId());
+ }else {
+ PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platformCatalog.getPlatformId(), platformCatalog.getParentId());
+ if (catalog != null) {
+ platformCatalog.setCivilCode(catalog.getCivilCode());
+ }
+ }
+ break;
+ case 216:
+ if (platformCatalog.getParentId().length() <= 8) {
+ platformCatalog.setCivilCode(platformCatalog.getParentId());
+ }else {
+ PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platformCatalog.getPlatformId(),platformCatalog.getParentId());
+ if (catalog == null) {
+ logger.warn("[娣诲姞鐩綍] 鏃犳硶鑾峰彇鐩綍{}鐨凜ivilCode鍜孊usinessGroupId", platformCatalog.getPlatformId());
+ break;
+ }
+ platformCatalog.setCivilCode(catalog.getCivilCode());
+ if (Integer.parseInt(platformCatalog.getParentId().substring(10, 13)) == 215) {
+ platformCatalog.setBusinessGroupId(platformCatalog.getParentId());
+ }else {
+ if (Integer.parseInt(platformCatalog.getParentId().substring(10, 13)) == 216) {
+ platformCatalog.setBusinessGroupId(catalog.getBusinessGroupId());
+ }
+ }
+ }
+ break;
+ default:
+ break;
+ }
}
}
- if (platform.getTreeType().equals(TreeType.CIVIL_CODE)) {
- platformCatalog.setCivilCode(platformCatalog.getId());
- if (platformCatalog.getPlatformId().equals(platformCatalog.getParentId())) {
- // 绗竴灞傝妭鐐�
- platformCatalog.setParentId(platform.getDeviceGBId());
- }
- }
-
int result = catalogMapper.add(platformCatalog);
if (result > 0) {
DeviceChannel deviceChannel = getDeviceChannelByCatalog(platformCatalog);
@@ -823,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 {
@@ -832,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);
@@ -869,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<>();
@@ -880,7 +898,7 @@
}
eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
}
- int delChannelresult = platformChannelMapper.delByCatalogId(id);
+ int delChannelresult = platformChannelMapper.delByCatalogId(platformId, id);
return delresult + delChannelresult + delStreamresult;
}
@@ -937,19 +955,14 @@
DeviceChannel deviceChannel = new DeviceChannel();
deviceChannel.setChannelId(catalog.getId());
deviceChannel.setName(catalog.getName());
- deviceChannel.setLongitude(0.0);
- deviceChannel.setLatitude(0.0);
deviceChannel.setDeviceId(platform.getDeviceGBId());
deviceChannel.setManufacture("wvp-pro");
deviceChannel.setStatus(true);
deviceChannel.setParental(1);
deviceChannel.setRegisterWay(1);
- // 琛屾斂鍖哄垝搴旇鏄疍omain鐨勫墠鍏綅
- if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)) {
- deviceChannel.setParentId(catalog.getParentId());
- deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId());
- }
+ deviceChannel.setParentId(catalog.getParentId());
+ deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId());
deviceChannel.setModel("live");
deviceChannel.setOwner("wvp-pro");
--
Gitblit v1.8.0