From 2591997dfc8995a788b07dd41f42aac77c6fc4fb Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 12 八月 2022 10:00:18 +0800
Subject: [PATCH] 修复文档错误
---
src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java | 62 ++++++++++++++++++++++--------
1 files changed, 45 insertions(+), 17 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
index 79e0b7a..8734882 100644
--- 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,14 +1,13 @@
package com.genersoft.iot.vmp.service.impl;
import com.genersoft.iot.vmp.conf.SipConfig;
-import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
-import com.genersoft.iot.vmp.gb28181.bean.GbStream;
-import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
+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;
import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
import com.genersoft.iot.vmp.storager.dao.GbStreamMapper;
import com.genersoft.iot.vmp.storager.dao.ParentPlatformMapper;
+import com.genersoft.iot.vmp.storager.dao.PlatformCatalogMapper;
import com.genersoft.iot.vmp.storager.dao.PlatformGbStreamMapper;
import com.genersoft.iot.vmp.service.IGbStreamService;
import com.github.pagehelper.PageHelper;
@@ -20,6 +19,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
+import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -45,15 +45,15 @@
private ParentPlatformMapper platformMapper;
@Autowired
- private SipConfig sipConfig;
+ private PlatformCatalogMapper catalogMapper;
@Autowired
private EventPublisher eventPublisher;
@Override
- public PageInfo<GbStream> getAll(Integer page, Integer count, String platFormId) {
+ public PageInfo<GbStream> getAll(Integer page, Integer count, String platFormId, String catalogId, String query, String mediaServerId) {
PageHelper.startPage(page, count);
- List<GbStream> all = gbStreamMapper.selectAll(platFormId);
+ List<GbStream> all = gbStreamMapper.selectAll(platFormId, catalogId, query, mediaServerId);
return new PageInfo<>(all);
}
@@ -69,6 +69,9 @@
boolean result = false;
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
ParentPlatform parentPlatform = platformMapper.getParentPlatByServerGBId(platformId);
+ if (catalogId == null) {
+ catalogId = parentPlatform.getCatalogId();
+ }
try {
List<DeviceChannel> deviceChannelList = new ArrayList<>();
for (GbStream gbStream : gbStreams) {
@@ -76,7 +79,7 @@
gbStream.setPlatformId(platformId);
// TODO 淇敼涓烘壒閲忔彁浜�
platformGbStreamMapper.add(gbStream);
- DeviceChannel deviceChannelListByStream = getDeviceChannelListByStream(gbStream, catalogId, parentPlatform.getDeviceGBId());
+ DeviceChannel deviceChannelListByStream = getDeviceChannelListByStream(gbStream, catalogId, parentPlatform);
deviceChannelList.add(deviceChannelListByStream);
}
dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦
@@ -90,18 +93,33 @@
}
@Override
- public DeviceChannel getDeviceChannelListByStream(GbStream gbStream, String catalogId, String deviceGBId) {
+ public DeviceChannel getDeviceChannelListByStream(GbStream gbStream, String catalogId, ParentPlatform platform) {
DeviceChannel deviceChannel = new DeviceChannel();
deviceChannel.setChannelId(gbStream.getGbId());
deviceChannel.setName(gbStream.getName());
deviceChannel.setLongitude(gbStream.getLongitude());
deviceChannel.setLatitude(gbStream.getLatitude());
- deviceChannel.setDeviceId(deviceGBId);
+ deviceChannel.setDeviceId(platform.getDeviceGBId());
deviceChannel.setManufacture("wvp-pro");
deviceChannel.setStatus(gbStream.isStatus()?1:0);
- deviceChannel.setParentId(catalogId ==null?gbStream.getCatalogId():catalogId);
+
deviceChannel.setRegisterWay(1);
- deviceChannel.setCivilCode(sipConfig.getDomain());
+ 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());
+ }
+
+ }
+
deviceChannel.setModel("live");
deviceChannel.setOwner("wvp-pro");
deviceChannel.setParental(0);
@@ -116,14 +134,14 @@
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
try {
List<DeviceChannel> deviceChannelList = new ArrayList<>();
+ platformGbStreamMapper.delByAppAndStreamsByPlatformId(gbStreams, platformId);
for (GbStream gbStream : gbStreams) {
- platformGbStreamMapper.delByAppAndStream(gbStream.getApp(), gbStream.getStream());
DeviceChannel deviceChannel = new DeviceChannel();
deviceChannel.setChannelId(gbStream.getGbId());
deviceChannelList.add(deviceChannel);
- eventPublisher.catalogEventPublish(platformId, deviceChannel, CatalogEvent.DEL);
}
+ eventPublisher.catalogEventPublish(platformId, deviceChannelList, CatalogEvent.DEL);
dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦
result = true;
}catch (Exception e) {
@@ -139,17 +157,27 @@
if (gbStream.getGbId() != null) {
gbStreams.add(gbStream);
}else {
- StreamProxyItem streamProxyItem = gbStreamMapper.selectOne(gbStream.getApp(), gbStream.getStream());
- if (streamProxyItem != null && streamProxyItem.getGbId() != null){
- gbStreams.add(streamProxyItem);
+ GbStream gbStreamIndb = gbStreamMapper.selectOne(gbStream.getApp(), gbStream.getStream());
+ if (gbStreamIndb != null && gbStreamIndb.getGbId() != null){
+ gbStreams.add(gbStreamIndb);
}
}
+ sendCatalogMsgs(gbStreams, type);
+ }
+
+ @Override
+ public void sendCatalogMsgs(List<GbStream> gbStreams, String type) {
if (gbStreams.size() > 0) {
for (GbStream gs : gbStreams) {
+ if (StringUtils.isEmpty(gs.getGbId())){
+ continue;
+ }
List<ParentPlatform> parentPlatforms = platformGbStreamMapper.selectByAppAndStream(gs.getApp(), gs.getStream());
if (parentPlatforms.size() > 0) {
for (ParentPlatform parentPlatform : parentPlatforms) {
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), gs, type);
+ if (parentPlatform != null) {
+ eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), gs, type);
+ }
}
}
}
--
Gitblit v1.8.0