From 3e71e0bdf1e4b2e527d491d426f67e34b7d3c148 Mon Sep 17 00:00:00 2001
From: xiaoQQya <xiaoQQya@126.com>
Date: 星期六, 05 十一月 2022 11:35:01 +0800
Subject: [PATCH] perf(rtcPlayer): 修改控制台 log 级别
---
src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java | 167 ++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 116 insertions(+), 51 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java
index 29b8bcb..9853079 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java
@@ -16,13 +16,18 @@
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.storager.dao.DeviceChannelMapper;
import com.genersoft.iot.vmp.storager.dao.DeviceMapper;
+import com.genersoft.iot.vmp.storager.dao.PlatformChannelMapper;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.BaseTree;
+import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.jdbc.support.incrementer.AbstractIdentityColumnMaxValueIncrementer;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.TransactionDefinition;
+import org.springframework.transaction.TransactionStatus;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
@@ -61,10 +66,19 @@
private DeviceMapper deviceMapper;
@Autowired
+ private PlatformChannelMapper platformChannelMapper;
+
+ @Autowired
private IDeviceChannelService deviceChannelService;
@Autowired
private DeviceChannelMapper deviceChannelMapper;
+
+ @Autowired
+ DataSourceTransactionManager dataSourceTransactionManager;
+
+ @Autowired
+ TransactionDefinition transactionDefinition;
@Autowired
private IVideoManagerStorage storage;
@@ -105,6 +119,7 @@
}
sync(device);
}else {
+
if(device.getOnline() == 0){
device.setOnline(1);
device.setCreateTime(now);
@@ -119,6 +134,11 @@
sync(device);
// TODO 濡傛灉璁惧涓嬬殑閫氶亾绾ц仈鍒颁簡鍏朵粬骞冲彴锛岄偅涔堥渶瑕佸彂閫佷簨浠舵垨鑰卬otify缁欎笂绾у钩鍙�
}else {
+ if (deviceChannelMapper.queryAllChannels(device.getDeviceId()).size() == 0) {
+ logger.info("[璁惧涓婄嚎]: {}锛岄�氶亾鏁颁负0,鏌ヨ閫氶亾淇℃伅", device.getDeviceId());
+ sync(device);
+ }
+
deviceMapper.update(device);
redisCatchStorage.updateDevice(device);
}
@@ -263,7 +283,7 @@
}
@Override
- public Device queryDevice(String deviceId) {
+ public Device getDevice(String deviceId) {
Device device = redisCatchStorage.getDevice(deviceId);
if (device == null) {
device = deviceMapper.getDeviceByDeviceId(deviceId);
@@ -307,60 +327,11 @@
@Override
public void updateDevice(Device device) {
- Device deviceInStore = deviceMapper.getDeviceByDeviceId(device.getDeviceId());
- if (deviceInStore == null) {
- logger.warn("鏇存柊璁惧鏃舵湭鎵惧埌璁惧淇℃伅");
- return;
- }
- if (!ObjectUtils.isEmpty(device.getName())) {
- deviceInStore.setName(device.getName());
- }
- if (!ObjectUtils.isEmpty(device.getCharset())) {
- deviceInStore.setCharset(device.getCharset());
- }
- if (!ObjectUtils.isEmpty(device.getMediaServerId())) {
- deviceInStore.setMediaServerId(device.getMediaServerId());
- }
-
- // 鐩綍璁㈤槄鐩稿叧鐨勪俊鎭�
- if (device.getSubscribeCycleForCatalog() > 0) {
- if (deviceInStore.getSubscribeCycleForCatalog() == 0 || deviceInStore.getSubscribeCycleForCatalog() != device.getSubscribeCycleForCatalog()) {
- deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog());
- // 寮�鍚闃�
- addCatalogSubscribe(deviceInStore);
- }
- }else if (device.getSubscribeCycleForCatalog() == 0) {
- if (deviceInStore.getSubscribeCycleForCatalog() != 0) {
- deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog());
- // 鍙栨秷璁㈤槄
- removeCatalogSubscribe(deviceInStore);
- }
- }
-
- // 绉诲姩浣嶇疆璁㈤槄鐩稿叧鐨勪俊鎭�
- if (device.getSubscribeCycleForMobilePosition() > 0) {
- if (deviceInStore.getSubscribeCycleForMobilePosition() == 0 || deviceInStore.getSubscribeCycleForMobilePosition() != device.getSubscribeCycleForMobilePosition()) {
- deviceInStore.setMobilePositionSubmissionInterval(device.getMobilePositionSubmissionInterval());
- deviceInStore.setSubscribeCycleForMobilePosition(device.getSubscribeCycleForMobilePosition());
- // 寮�鍚闃�
- addMobilePositionSubscribe(deviceInStore);
- }
- }else if (device.getSubscribeCycleForMobilePosition() == 0) {
- if (deviceInStore.getSubscribeCycleForMobilePosition() != 0) {
- // 鍙栨秷璁㈤槄
- removeMobilePositionSubscribe(deviceInStore);
- }
- }
- // 鍧愭爣绯诲彉鍖栵紝闇�瑕侀噸鏂拌绠桮CJ02鍧愭爣鍜學GS84鍧愭爣
- if (!deviceInStore.getGeoCoordSys().equals(device.getGeoCoordSys())) {
- updateDeviceChannelGeoCoordSys(device);
- }
-
String now = DateUtil.getNow();
device.setUpdateTime(now);
device.setCharset(device.getCharset().toUpperCase());
device.setUpdateTime(DateUtil.getNow());
- if (deviceMapper.updateCustom(device) > 0) {
+ if (deviceMapper.update(device) > 0) {
redisCatchStorage.updateDevice(device);
}
@@ -566,4 +537,98 @@
return result;
}
+ @Override
+ public boolean isExist(String deviceId) {
+ return deviceMapper.getDeviceByDeviceId(deviceId) != null;
+ }
+
+ @Override
+ public void addDevice(Device device) {
+ device.setOnline(0);
+ device.setCreateTime(DateUtil.getNow());
+ device.setUpdateTime(DateUtil.getNow());
+ deviceMapper.addCustomDevice(device);
+ }
+
+ @Override
+ public void updateCustomDevice(Device device) {
+ Device deviceInStore = deviceMapper.getDeviceByDeviceId(device.getDeviceId());
+ if (deviceInStore == null) {
+ logger.warn("鏇存柊璁惧鏃舵湭鎵惧埌璁惧淇℃伅");
+ return;
+ }
+ if (!ObjectUtils.isEmpty(device.getName())) {
+ deviceInStore.setName(device.getName());
+ }
+ if (!ObjectUtils.isEmpty(device.getCharset())) {
+ deviceInStore.setCharset(device.getCharset());
+ }
+ if (!ObjectUtils.isEmpty(device.getMediaServerId())) {
+ deviceInStore.setMediaServerId(device.getMediaServerId());
+ }
+ deviceInStore.setSdpIp(device.getSdpIp());
+ deviceInStore.setCharset(device.getCharset());
+ deviceInStore.setTreeType(device.getTreeType());
+
+ // 鐩綍璁㈤槄鐩稿叧鐨勪俊鎭�
+ if (device.getSubscribeCycleForCatalog() > 0) {
+ if (deviceInStore.getSubscribeCycleForCatalog() == 0 || deviceInStore.getSubscribeCycleForCatalog() != device.getSubscribeCycleForCatalog()) {
+ deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog());
+ // 寮�鍚闃�
+ addCatalogSubscribe(deviceInStore);
+ }
+ }else if (device.getSubscribeCycleForCatalog() == 0) {
+ if (deviceInStore.getSubscribeCycleForCatalog() != 0) {
+ deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog());
+ // 鍙栨秷璁㈤槄
+ removeCatalogSubscribe(deviceInStore);
+ }
+ }
+
+ // 绉诲姩浣嶇疆璁㈤槄鐩稿叧鐨勪俊鎭�
+ if (device.getSubscribeCycleForMobilePosition() > 0) {
+ if (deviceInStore.getSubscribeCycleForMobilePosition() == 0 || deviceInStore.getSubscribeCycleForMobilePosition() != device.getSubscribeCycleForMobilePosition()) {
+ deviceInStore.setMobilePositionSubmissionInterval(device.getMobilePositionSubmissionInterval());
+ deviceInStore.setSubscribeCycleForMobilePosition(device.getSubscribeCycleForMobilePosition());
+ // 寮�鍚闃�
+ addMobilePositionSubscribe(deviceInStore);
+ }
+ }else if (device.getSubscribeCycleForMobilePosition() == 0) {
+ if (deviceInStore.getSubscribeCycleForMobilePosition() != 0) {
+ // 鍙栨秷璁㈤槄
+ removeMobilePositionSubscribe(deviceInStore);
+ }
+ }
+ // 鍧愭爣绯诲彉鍖栵紝闇�瑕侀噸鏂拌绠桮CJ02鍧愭爣鍜學GS84鍧愭爣
+ if (!deviceInStore.getGeoCoordSys().equals(device.getGeoCoordSys())) {
+ updateDeviceChannelGeoCoordSys(device);
+ }
+ // 鏇存柊redis
+ redisCatchStorage.updateDevice(device);
+ deviceMapper.updateCustom(device);
+ }
+
+ @Override
+ public boolean delete(String deviceId) {
+ TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
+ boolean result = false;
+ try {
+ platformChannelMapper.delChannelForDeviceId(deviceId);
+ deviceChannelMapper.cleanChannelsByDeviceId(deviceId);
+ if ( deviceMapper.del(deviceId) < 0 ) {
+ //浜嬪姟鍥炴粴
+ dataSourceTransactionManager.rollback(transactionStatus);
+ }
+ result = true;
+ dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦
+ }catch (Exception e) {
+ dataSourceTransactionManager.rollback(transactionStatus);
+ }
+ return result;
+ }
+
+ @Override
+ public ResourceBaceInfo getOverview() {
+ return deviceMapper.getOverview();
+ }
}
--
Gitblit v1.8.0