From c42d391290adc50348807d623c4b689ab1f109fc Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 14 七月 2023 08:34:15 +0800
Subject: [PATCH] 修复数据存储
---
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java | 134 ++++++++++++++++++++++++++------------------
1 files changed, 78 insertions(+), 56 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
index cee613d..ed01b61 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -125,47 +125,50 @@
List<DeviceChannel> channels = 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());
- 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()){
- 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);
- });
- }
- }
+ // 鏁版嵁鍘婚噸
+ 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()).getStatus() !=deviceChannel.getStatus()){
+ 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);
+ });
}
- 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++);
- }
- }
+
+ }
+ }
+ channels.add(deviceChannel);
+ if (!ObjectUtils.isEmpty(deviceChannel.getParentId())) {
+ if (subContMap.get(deviceChannel.getParentId()) == null) {
+ subContMap.put(deviceChannel.getParentId(), 1);
}else {
- stringBuilder.append(deviceChannel.getChannelId()).append(",");
+ 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){
- channel.setSubCount(subContMap.get(channel.getChannelId()));
+ }
+ 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);
}
@@ -773,25 +776,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.select(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.select(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);
@@ -915,19 +942,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(1);
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