From 016aa105789fca71e86cdbb0d26a181812f200f9 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期三, 10 七月 2024 15:33:36 +0800
Subject: [PATCH] 优化:流媒体同步任务
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java | 49 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java
index d6ed2c3..4e7d4ff 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java
@@ -3,12 +3,16 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.camera.domain.ArdCameras;
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.camera.factory.CameraSDK;
import com.ruoyi.device.camera.factory.CameraSDKFactory;
import com.ruoyi.device.camera.service.IArdCamerasService;
import com.ruoyi.device.camera.service.ICameraSdkService;
+import com.ruoyi.device.channel.domain.ArdChannel;
+import com.ruoyi.device.channel.service.IArdChannelService;
+import com.ruoyi.device.channel.service.impl.ArdChannelServiceImpl;
import com.ruoyi.media.domain.Vtdu;
import com.ruoyi.media.service.IMediaService;
import com.ruoyi.media.service.IVtduService;
@@ -21,6 +25,8 @@
import javax.annotation.Resource;
import java.util.List;
+import java.util.UUID;
+import java.util.stream.Collectors;
/**
* @Description: 鍚屾浠诲姟
@@ -43,6 +49,10 @@
IMediaService mediaService;
@Resource
private ICameraSdkService cameraSdkService;
+ @Resource
+ private CameraSDKFactory cameraSDKFactory;
+ @Resource
+ private IArdChannelService ardChannelService;
/**
* 鍚屾鐩告満鍦ㄧ嚎鐘舵��
* 鍒樿嫃涔�
@@ -69,6 +79,34 @@
}
} catch (Exception ex) {
log.error("鍚屾鐩告満鍦ㄧ嚎鐘舵�佸紓甯�:" + ex.getMessage());
+ }
+ }
+
+ /**
+ * @Author 鍒樿嫃涔�
+ * @Description 鍚屾nvr閫氶亾鐘舵�佸疄鏃跺悓姝ユ祦濯掍綋
+ * @Date 2024/7/9 16:01
+ */
+ public void nvrChannelState() {
+ //鑾峰彇鎵�鏈塶vr璁惧
+ List<ArdCameras> ardCamerasList = iArdCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
+ if (ardCamerasList.size() > 0) {
+ ardCamerasList.stream()
+ .filter(ardCameras -> ardCameras.getGdtype().equals("2"))
+ .forEach(ardCameras -> {
+ //閫氳繃SDK鑾峰彇NVR褰撳墠閫氶亾
+ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(ardCameras.getFactory());
+ List<ArdChannel> ardChannelList = cameraSDK.getChannels(ardCameras);
+ //鍚屾閫氶亾琛�
+ ArdChannel ardChannel=new ArdChannel();
+ ardChannel.setDeviceId(ardCameras.getId());
+ List<ArdChannel> ardChannelListDb = ardChannelService.selectArdChannelList(ardChannel);
+ ardChannelService.asyncChannel(ardChannelListDb,ardChannelList);
+ //鍚屾娴佸獟浣撹〃
+
+ //鍚屾娴佸獟浣揳pi
+
+ });
}
}
@@ -105,13 +143,8 @@
* 2023/10/13 14:13:53
*/
public void vtdu() {
-
- List<Vtdu> vtdus = vtduService.selectVtduList(new Vtdu());
- for (Vtdu vtdu : vtdus) {
- boolean nameExist = mediaService.checkNameExist(vtdu.getName());
- if (!nameExist) {
- mediaService.addPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
- }
- }
+ List<String> nameList = mediaService.getNameList();
+ List<Vtdu> vtduList = vtduService.selectVtduList(new Vtdu());
+ vtduService.asyncVtdu(vtduList,nameList);
}
}
--
Gitblit v1.9.3