From 60211f59d2c85053533ed151adb2bdc5348dd342 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期四, 01 八月 2024 09:51:12 +0800
Subject: [PATCH] 修改:会话消息独立线程池;线程池参数统一设置
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java | 81 ++++++++++++++++++++++++++--------------
1 files changed, 53 insertions(+), 28 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 968fcab..edd182e 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
@@ -1,26 +1,33 @@
package com.ruoyi.quartz.task;
-import com.alibaba.fastjson2.JSONObject;
+
+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.utils.sdk.dhsdk.service.IDhClientService;
-import com.ruoyi.utils.sdk.hiksdk.service.IHikClientService;
-import com.ruoyi.media.domain.Items;
-import com.ruoyi.media.domain.JsonsRoot;
+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;
import com.ruoyi.rongcloud.service.RongCloudService;
import com.ruoyi.system.service.ISysUserService;
+import com.ruoyi.utils.sdk.common.GlobalVariable;
+import com.ruoyi.utils.sdk.dhsdk.service.impl.DahuaSDK;
+import com.ruoyi.utils.sdk.hiksdk.service.impl.HikvisionSDK;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
-import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
+import java.util.stream.Collectors;
/**
* @Description: 鍚屾浠诲姟
@@ -38,13 +45,15 @@
@Resource
IArdCamerasService iArdCamerasService;
@Resource
- IHikClientService hikClientService;
- @Resource
- IDhClientService dhClientService;
- @Resource
IVtduService vtduService;
@Resource
IMediaService mediaService;
+ @Resource
+ private ICameraSdkService cameraSdkService;
+ @Resource
+ private CameraSDKFactory cameraSDKFactory;
+ @Resource
+ private IArdChannelService ardChannelService;
/**
* 鍚屾鐩告満鍦ㄧ嚎鐘舵��
@@ -53,19 +62,13 @@
*/
public void cameraState() {
try {
- ArdCameras ardCamera = new ArdCameras();
+ ArdCameras ardCamera = new ArdCameras();
//璋冪敤鏌ヨ鏂规硶
List<ArdCameras> ardCameras = iArdCamerasService.selectArdCamerasListNoDataScope(ardCamera);
for (ArdCameras camera : ardCameras) {
CameraCmd cmd = new CameraCmd();
cmd.setCameraId(camera.getId());
- boolean onLineNew = false;
- // 鍒ゆ柇鏄�1杩樻槸2
- if (camera.getFactory().equals("1")) {
- onLineNew = hikClientService.isOnLine(cmd);
- } else if (camera.getFactory().equals("2")) {
- onLineNew = dhClientService.isOnLine(cmd);
- }
+ boolean onLineNew = cameraSdkService.isOnLine(cmd);
boolean onLineOld = "1".equals(camera.getState());
if (onLineNew != onLineOld) {
if (onLineNew) {
@@ -78,6 +81,32 @@
}
} catch (Exception ex) {
log.error("鍚屾鐩告満鍦ㄧ嚎鐘舵�佸紓甯�:" + ex.getMessage());
+ }
+ }
+
+ /**
+ * @Author 鍒樿嫃涔�
+ * @Description 鍚屾閫氶亾鐘舵�佸疄鏃跺悓姝ユ祦濯掍綋
+ * @Date 2024/7/9 16:01
+ */
+ public void syncChannelState(){
+ log.debug("瀹氭椂鍚屾閫氶亾浠诲姟寮�濮�");
+ //鑾峰彇鎵�鏈塶vr璁惧
+ List<ArdCameras> ardCamerasList = GlobalVariable.loginedSet.stream().collect(Collectors.toList());
+ if (ardCamerasList.size() > 0) {
+ ardCamerasList.stream()
+ .forEach(ardCameras -> {
+ if (ardCameras.getLoginId() > 0) {
+ //閫氳繃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(ardCameras, ardChannelListDb, ardChannelList);
+ }
+ });
}
}
@@ -113,14 +142,10 @@
* 鍒樿嫃涔�
* 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());
- }
- }
+ public void syncVtdu() {
+ log.debug("瀹氭椂鍚屾娴佸獟浣撲换鍔″紑濮�");
+ List<String> nameList = mediaService.getNameList();
+ List<Vtdu> vtduList = vtduService.selectVtduList(new Vtdu());
+ vtduService.asyncVtdu(vtduList, nameList);
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.3