From e0c71e43f22a81c57720c7ab3595564c5a8e3aee Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期二, 31 十月 2023 17:26:44 +0800 Subject: [PATCH] 清淤管理 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/SyncTask.java | 210 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 126 insertions(+), 84 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 f2b6b01..968fcab 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,84 +1,126 @@ -package com.ruoyi.quartz.task; - -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.hiksdk.service.IHikClientService; -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.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 iHikClientService; - - /** - * 鍚屾鐩告満鍦ㄧ嚎鐘舵�� - * 鍒樿嫃涔� - * 2023/10/8 14:54:41 - */ - public void cameraState() { - List<ArdCameras> ardCameras = iArdCamerasService.selectArdCamerasListNoDataScope(new ArdCameras()); - for (ArdCameras camera : ardCameras) { - CameraCmd cmd = new CameraCmd(); - cmd.setCameraId(camera.getId()); - boolean onLineNew = iHikClientService.isOnLine(cmd);//鐩告満瀹炴椂鐘舵�� - boolean onLineOld = "1".equals(camera.getState());//鐩告満鍘嗗彶鐘舵�� - //褰撶姸鎬佸彂鐢熷彉鍖栨椂锛屾洿鏂板疄鏃剁姸鎬� - if (onLineNew != onLineOld) { - if (onLineNew) { - camera.setState("1"); - } else { - camera.setState("0"); - } - iArdCamerasService.updateArdCameras(camera); - } - } - } - - /** - * 瀹氭椂鑾峰彇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()); - } - } -} +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.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.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()); + } + } + } +} -- Gitblit v1.9.3