From 65fa75fb448fe9ab7bec84559616006730149509 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 10 五月 2022 11:02:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into commercial
---
src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java | 31 ++++++++++++++++++++++---------
1 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java b/src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java
index c3de8a2..7eeb778 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java
@@ -21,16 +21,13 @@
public static Map<String, CatalogData> data = new ConcurrentHashMap<>();
@Autowired
- private DeferredResultHolder deferredResultHolder;
-
- @Autowired
private IVideoManagerStorage storager;
public void addReady(Device device, int sn ) {
CatalogData catalogData = data.get(device.getDeviceId());
if (catalogData == null || catalogData.getStatus().equals(CatalogData.CatalogDataStatus.end)) {
catalogData = new CatalogData();
- catalogData.setChannelList(new ArrayList<>());
+ catalogData.setChannelList(Collections.synchronizedList(new ArrayList<>()));
catalogData.setDevice(device);
catalogData.setSn(sn);
catalogData.setStatus(CatalogData.CatalogDataStatus.ready);
@@ -46,7 +43,7 @@
catalogData.setSn(sn);
catalogData.setTotal(total);
catalogData.setDevice(device);
- catalogData.setChannelList(new ArrayList<>());
+ catalogData.setChannelList(Collections.synchronizedList(new ArrayList<>()));
catalogData.setStatus(CatalogData.CatalogDataStatus.runIng);
catalogData.setLastTime(new Date(System.currentTimeMillis()));
data.put(deviceId, catalogData);
@@ -65,24 +62,38 @@
public List<DeviceChannel> get(String deviceId) {
CatalogData catalogData = data.get(deviceId);
- if (catalogData == null) return null;
+ if (catalogData == null) {
+ return null;
+ }
return catalogData.getChannelList();
}
public int getTotal(String deviceId) {
CatalogData catalogData = data.get(deviceId);
- if (catalogData == null) return 0;
+ if (catalogData == null) {
+ return 0;
+ }
return catalogData.getTotal();
}
public SyncStatus getSyncStatus(String deviceId) {
CatalogData catalogData = data.get(deviceId);
- if (catalogData == null) return null;
+ if (catalogData == null) {
+ return null;
+ }
SyncStatus syncStatus = new SyncStatus();
syncStatus.setCurrent(catalogData.getChannelList().size());
syncStatus.setTotal(catalogData.getTotal());
syncStatus.setErrorMsg(catalogData.getErrorMsg());
return syncStatus;
+ }
+
+ public boolean isSyncRunning(String deviceId) {
+ CatalogData catalogData = data.get(deviceId);
+ if (catalogData == null) {
+ return false;
+ }
+ return !catalogData.getStatus().equals(CatalogData.CatalogDataStatus.end);
}
@Scheduled(fixedRate = 5 * 1000) //姣�5绉掓墽琛屼竴娆�, 鍙戠幇鏁版嵁5绉掓湭鏇存柊鍒欑Щ闄ゆ暟鎹苟璁や负鏁版嵁鎺ユ敹瓒呮椂
@@ -119,7 +130,9 @@
public void setChannelSyncEnd(String deviceId, String errorMsg) {
CatalogData catalogData = data.get(deviceId);
- if (catalogData == null)return;
+ if (catalogData == null) {
+ return;
+ }
catalogData.setStatus(CatalogData.CatalogDataStatus.end);
catalogData.setErrorMsg(errorMsg);
}
--
Gitblit v1.8.0