From cb5afce55eec2badda5090c27564e43f201ac9af Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 12 三月 2024 23:55:00 +0800
Subject: [PATCH] 优化语音对讲定时任务的删除
---
src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java | 72 ++++++++++++++++-------------------
1 files changed, 33 insertions(+), 39 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
old mode 100644
new mode 100755
index 0cde5fe..9fcbb40
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
@@ -1,5 +1,6 @@
package com.genersoft.iot.vmp.service.impl;
+import com.baomidou.dynamic.datasource.annotation.DS;
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
@@ -18,12 +19,14 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.List;
@Service
+@DS("master")
public class GbStreamServiceImpl implements IGbStreamService {
private final static Logger logger = LoggerFactory.getLogger(GbStreamServiceImpl.class);
@@ -76,8 +79,6 @@
}
try {
List<DeviceChannel> deviceChannelList = new ArrayList<>();
-
-
for (int i = 0; i < gbStreams.size(); i++) {
GbStream gbStream = gbStreams.get(i);
gbStream.setCatalogId(catalogId);
@@ -113,20 +114,15 @@
deviceChannel.setStatus(gbStream.isStatus());
deviceChannel.setRegisterWay(1);
- deviceChannel.setCivilCode(platform.getAdministrativeDivision());
- if (platform.getTreeType().equals(TreeType.CIVIL_CODE)){
- deviceChannel.setCivilCode(catalogId);
- }else if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)){
- PlatformCatalog catalog = catalogMapper.select(catalogId);
- if (catalog == null) {
- deviceChannel.setParentId(platform.getDeviceGBId());
- deviceChannel.setBusinessGroupId(null);
- }else {
- deviceChannel.setParentId(catalog.getId());
- deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId());
- }
-
+ PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platform.getServerGBId(), catalogId);
+ if (catalog != null) {
+ deviceChannel.setCivilCode(catalog.getCivilCode());
+ deviceChannel.setParentId(catalog.getParentId());
+ deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId());
+ }else {
+ deviceChannel.setCivilCode(platform.getAdministrativeDivision());
+ deviceChannel.setParentId(platform.getDeviceGBId());
}
deviceChannel.setModel("live");
@@ -221,20 +217,14 @@
deviceChannel.setStatus(status != null && status);
deviceChannel.setRegisterWay(1);
- deviceChannel.setCivilCode(platform.getAdministrativeDivision());
-
- if (platform.getTreeType().equals(TreeType.CIVIL_CODE)){
- deviceChannel.setCivilCode(catalogId);
- }else if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)){
- PlatformCatalog catalog = catalogMapper.select(catalogId);
- if (catalog == null) {
- deviceChannel.setParentId(platform.getDeviceGBId());
- deviceChannel.setBusinessGroupId(null);
- }else {
- deviceChannel.setParentId(catalog.getId());
- deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId());
- }
-
+ PlatformCatalog catalog = catalogMapper.selectByPlatFormAndCatalogId(platform.getServerGBId(), catalogId);
+ if (catalog != null) {
+ deviceChannel.setCivilCode(catalog.getCivilCode());
+ deviceChannel.setParentId(catalog.getParentId());
+ deviceChannel.setBusinessGroupId(catalog.getBusinessGroupId());
+ }else {
+ deviceChannel.setCivilCode(platform.getAdministrativeDivision());
+ deviceChannel.setParentId(platform.getDeviceGBId());
}
deviceChannel.setModel("live");
@@ -261,17 +251,21 @@
return ;
}
if (ObjectUtils.isEmpty(catalogId)) {
- catalogId = platform.getDeviceGBId();
+ catalogId = null;
}
- if (platformGbStreamMapper.delByPlatformAndCatalogId(platformId, catalogId) > 0) {
- List<GbStream> gbStreams = platformGbStreamMapper.queryChannelInParentPlatformAndCatalog(platformId, catalogId);
- List<DeviceChannel> deviceChannelList = new ArrayList<>();
- for (GbStream gbStream : gbStreams) {
- DeviceChannel deviceChannel = new DeviceChannel();
- deviceChannel.setChannelId(gbStream.getGbId());
- deviceChannelList.add(deviceChannel);
- }
- eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
+ List<GbStream> gbStreams = platformGbStreamMapper.queryChannelInParentPlatformAndCatalog(platformId, catalogId);
+ List<DeviceChannel> deviceChannelList = new ArrayList<>();
+ for (GbStream gbStream : gbStreams) {
+ DeviceChannel deviceChannel = new DeviceChannel();
+ deviceChannel.setChannelId(gbStream.getGbId());
+ deviceChannelList.add(deviceChannel);
}
+ eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
+ platformGbStreamMapper.delByPlatformAndCatalogId(platformId, catalogId);
+ }
+
+ @Override
+ public List<GbStream> getGbChannelWithGbid(String gbId) {
+ return gbStreamMapper.selectByGBId(gbId);
}
}
--
Gitblit v1.8.0