From 7c1e2217d0e4aad7498a5c136710c33cb55d00d0 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期三, 17 七月 2024 15:11:00 +0800
Subject: [PATCH] 三一车辆模型bug修改提交
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java | 276 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 150 insertions(+), 126 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 ad26400..1ee40ff 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,126 +1,150 @@
-package com.ruoyi.quartz.task;
-
-import com.alibaba.fastjson2.JSONObject;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.device.camera.domain.ArdCameras;
-import com.ruoyi.device.camera.domain.CameraCmd;
-import com.ruoyi.device.camera.service.IArdCamerasService;
-import com.ruoyi.device.channel.domain.ArdChannel;
-import com.ruoyi.device.dhsdk.service.IDhClientService;
-import com.ruoyi.device.hiksdk.service.IHikClientService;
-import com.ruoyi.media.domain.Items;
-import com.ruoyi.media.domain.JsonsRoot;
-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 lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @Description: 鍚屾浠诲姟
- * @ClassName: syncDeviceStateTask
- * @Author: 鍒樿嫃涔�
- * @Date: 2023骞�10鏈�08鏃�11:06:42
- **/
-@Component("SyncTask")
-@Slf4j
-public class SyncTask {
- @Resource
- ISysUserService sysUserService;
- @Resource
- RongCloudService rongCloudService;
- @Resource
- IArdCamerasService iArdCamerasService;
- @Resource
- IHikClientService hikClientService;
- @Resource
- IDhClientService dhClientService;
- @Resource
- IVtduService vtduService;
- @Resource
- IMediaService mediaService;
-
- /**
- * 鍚屾鐩告満鍦ㄧ嚎鐘舵��
- * 鍒樿嫃涔�
- * 2023/10/8 14:54:41
- */
- public void cameraState() {
- try {
- 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 onLineOld = "1".equals(camera.getState());
- if (onLineNew != onLineOld) {
- if (onLineNew) {
- camera.setState("1");
- } else {
- camera.setState("0");
- }
- iArdCamerasService.updateArdCameras(camera);
- }
- }
- } catch (Exception ex) {
- log.error("鍚屾鐩告満鍦ㄧ嚎鐘舵�佸紓甯�:" + ex.getMessage());
- }
- }
-
- /**
- * 瀹氭椂鑾峰彇app鐢ㄦ埛鍦ㄧ嚎鐘舵��
- * 鍒樿嫃涔�
- * 2023/8/9 9:17:48
- */
- public void appUserState() {
- try {
- List<SysUser> SysUserList = sysUserService.selectAllAppUserList(new SysUser());
- if (SysUserList.size() > 0) {
- for (SysUser sysUser : SysUserList) {
- String state = sysUser.getAppOnlineState();//鑾峰彇褰撳墠鐢ㄦ埛鐨勫湪绾跨姸鎬�
- Boolean online = rongCloudService.checkOnline(sysUser.getUserId());//浠庤瀺浜戣幏鍙栧湪绾跨姸鎬�
- if (state != null) {
- Boolean appOnlineState = state.equals("1");
- if (appOnlineState == online) {
- continue;
- }
- }
- sysUser.setAppOnlineState(online ? "1" : "0");
- sysUserService.updateUserProfile(sysUser);
- }
- }
- } catch (Exception ex) {
- log.error("铻嶄簯鍦ㄧ嚎鎺ュ彛寮傚父锛�" + ex.getMessage());
- }
- }
-
- /**
- * 鍚屾娴佸獟浣�
- * 鍒樿嫃涔�
- * 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());
- }
- }
- }
-}
+package com.ruoyi.quartz.task;
+
+
+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;
+import com.ruoyi.rongcloud.service.RongCloudService;
+import com.ruoyi.system.service.ISysUserService;
+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.List;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: 鍚屾浠诲姟
+ * @ClassName: syncDeviceStateTask
+ * @Author: 鍒樿嫃涔�
+ * @Date: 2023骞�10鏈�08鏃�11:06:42
+ **/
+@Component("SyncTask")
+@Slf4j
+public class SyncTask {
+ @Resource
+ ISysUserService sysUserService;
+ @Resource
+ RongCloudService rongCloudService;
+ @Resource
+ IArdCamerasService iArdCamerasService;
+ @Resource
+ IVtduService vtduService;
+ @Resource
+ IMediaService mediaService;
+ @Resource
+ private ICameraSdkService cameraSdkService;
+ @Resource
+ private CameraSDKFactory cameraSDKFactory;
+ @Resource
+ private IArdChannelService ardChannelService;
+
+ /**
+ * 鍚屾鐩告満鍦ㄧ嚎鐘舵��
+ * 鍒樿嫃涔�
+ * 2023/10/8 14:54:41
+ */
+ public void cameraState() {
+ try {
+ ArdCameras ardCamera = new ArdCameras();
+ //璋冪敤鏌ヨ鏂规硶
+ List<ArdCameras> ardCameras = iArdCamerasService.selectArdCamerasListNoDataScope(ardCamera);
+ for (ArdCameras camera : ardCameras) {
+ CameraCmd cmd = new CameraCmd();
+ cmd.setCameraId(camera.getId());
+ boolean onLineNew = cameraSdkService.isOnLine(cmd);
+ boolean onLineOld = "1".equals(camera.getState());
+ if (onLineNew != onLineOld) {
+ if (onLineNew) {
+ camera.setState("1");
+ } else {
+ camera.setState("0");
+ }
+ iArdCamerasService.updateArdCameras(camera);
+ }
+ }
+ } catch (Exception ex) {
+ log.error("鍚屾鐩告満鍦ㄧ嚎鐘舵�佸紓甯�:" + ex.getMessage());
+ }
+ }
+
+ /**
+ * @Author 鍒樿嫃涔�
+ * @Description 鍚屾閫氶亾鐘舵�佸疄鏃跺悓姝ユ祦濯掍綋
+ * @Date 2024/7/9 16:01
+ */
+ public void syncChannelState() {
+ log.debug("瀹氭椂鍚屾閫氶亾浠诲姟寮�濮�");
+ //鑾峰彇鎵�鏈塶vr璁惧
+ List<ArdCameras> ardCamerasList = iArdCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
+ 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);
+ }
+ });
+ }
+ }
+
+ /**
+ * 瀹氭椂鑾峰彇app鐢ㄦ埛鍦ㄧ嚎鐘舵��
+ * 鍒樿嫃涔�
+ * 2023/8/9 9:17:48
+ */
+ public void appUserState() {
+ try {
+ List<SysUser> SysUserList = sysUserService.selectAllAppUserList(new SysUser());
+ if (SysUserList.size() > 0) {
+ for (SysUser sysUser : SysUserList) {
+ String state = sysUser.getAppOnlineState();//鑾峰彇褰撳墠鐢ㄦ埛鐨勫湪绾跨姸鎬�
+ Boolean online = rongCloudService.checkOnline(sysUser.getUserId());//浠庤瀺浜戣幏鍙栧湪绾跨姸鎬�
+ if (state != null) {
+ Boolean appOnlineState = state.equals("1");
+ if (appOnlineState == online) {
+ continue;
+ }
+ }
+ sysUser.setAppOnlineState(online ? "1" : "0");
+ sysUserService.updateUserProfile(sysUser);
+ }
+ }
+ } catch (Exception ex) {
+ log.error("铻嶄簯鍦ㄧ嚎鎺ュ彛寮傚父锛�" + ex.getMessage());
+ }
+ }
+
+ /**
+ * 鍚屾娴佸獟浣�
+ * 鍒樿嫃涔�
+ * 2023/10/13 14:13:53
+ */
+ 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