From 40d53fc85f07155b93d92f9cec4d64c94f74abb3 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Wed, 09 Aug 2023 11:05:57 +0800
Subject: [PATCH] 修改相机控制优先级配置到字典

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RongCloudTask.java                    |   35 ++++++-----
 /dev/null                                                                              |   29 ---------
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java                        |   12 +--
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java             |   25 ++------
 ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java |   15 ++--
 ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java                          |   11 +++
 ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java        |   20 +++---
 7 files changed, 56 insertions(+), 91 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
index 94c327e..a5935ee 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -30,8 +30,8 @@
 import com.ruoyi.common.constant.CacheConstants;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.constant.CamPriority;
 import com.ruoyi.device.external.domain.ArdEquipExternal;
 import com.ruoyi.device.external.mapper.ArdEquipExternalMapper;
 import com.ruoyi.utils.tools.ArdTool;
@@ -42,16 +42,12 @@
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.utils.tube.GeoPoint;
 import com.ruoyi.utils.tube.TubeTools;
-import lombok.AllArgsConstructor;
-import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
-
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.concurrent.PriorityBlockingQueue;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -694,8 +690,13 @@
             //接收时间
             guideTask.setReceiveTime(fmt.format(receiveTime));
             //报警优先级(通过优先级字典)
-            Integer priority = CamPriority.priorityMap.get(alarmType);
-            guideTask.setPriority(priority);
+            String priority = DictUtils.getDictValue("cameras_priority", alarmType);
+            if(StringUtils.isEmpty(priority))
+            {
+                log.debug("未匹配到优先级,请检查优先级字典配置");
+                return;
+            }
+            guideTask.setPriority(Integer.valueOf(priority));
             //报警次数
             guideTask.setNum(num);
             //录像存储位置
diff --git a/ard-work/src/main/java/com/ruoyi/constant/CamPriority.java b/ard-work/src/main/java/com/ruoyi/constant/CamPriority.java
deleted file mode 100644
index 3b651b6..0000000
--- a/ard-work/src/main/java/com/ruoyi/constant/CamPriority.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.constant;
-
-import lombok.extern.slf4j.Slf4j;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @Description: 相机控制优先级
- * @ClassName: sdkPriority
- * @Author: 刘苏义
- * @Date: 2023年05月23日11:25
- * @Version: 1.0
- **/
-@Slf4j
-public class CamPriority {
-
-    public static Map<String, Integer> priorityMap = new HashMap<>();
-
-    static {
-        priorityMap.put("sys_radar_fire", 999);//雷达防火报警
-        priorityMap.put("sys_radar_move", 900);//雷达移动报警
-        priorityMap.put("sys_tube_leak", 800);//管线泄露报警
-        priorityMap.put("sys_radar_pumpshutdown", 800);//雷达抽油机停机
-        priorityMap.put("sys_external", 700);//外联报警
-        priorityMap.put("sys_access_control", 600);//门禁报警
-        priorityMap.put("sys_app_onekey", 500);//app一键报警
-        priorityMap.put("sys_patrol_inspect", 1);//巡检
-    }
-}
diff --git a/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java b/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java
index 4f6fa2e..7a69f81 100644
--- a/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java
+++ b/ard-work/src/main/java/com/ruoyi/test/ReadAccessDatabase.java
@@ -8,14 +8,21 @@
  * @Version: 1.0
  **/
 
+import com.ruoyi.app.position.domain.ArdAppPosition;
+import com.ruoyi.utils.websocket.util.WebSocketUtils;
+import lombok.extern.slf4j.Slf4j;
+
 import java.io.UnsupportedEncodingException;
 import java.nio.charset.StandardCharsets;
 import java.sql.*;
-
+import java.util.*;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+@Slf4j
 public class ReadAccessDatabase {
 
     public static void main(String[] args) {
-
 //        // 多个数据库文件路径
 //        String[] dbPaths = {
 //                "D:\\mdb\\道路中心线.mdb",
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
index 25cb772..38974b1 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
@@ -1,31 +1,26 @@
 package com.ruoyi.framework.aspectj;
 
-import com.ruoyi.common.annotation.SdkOperate;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.constant.CamPriority;
 import com.ruoyi.device.camera.domain.ArdCameras;
 import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.camera.service.IArdCamerasService;
 import com.ruoyi.system.service.ISysUserService;
 import lombok.extern.slf4j.Slf4j;
-import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Before;
 import org.aspectj.lang.annotation.Pointcut;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.springframework.stereotype.Component;
-
-import javax.annotation.Nullable;
 import javax.annotation.Resource;
 import java.lang.reflect.Method;
 import java.util.Date;
 
-import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
 
 /**
  * SDK控制处理
@@ -67,6 +62,7 @@
      * @param joinPoint 切点
      */
     public Boolean controlScopeFilter(ProceedingJoinPoint joinPoint) {
+
         //获取请求控制相机的命令信息
         CameraCmd cmd = (CameraCmd) joinPoint.getArgs()[0];
         String operator = cmd.getOperator();//申请者
@@ -97,18 +93,20 @@
                 } else {
                     /*当前相机有人控制并且配置了过期时间,先判断优先级,优先级高允许控制*/
                     Integer currentLevel = 0;//当前相机的操作者的优先级
-                    if (CamPriority.priorityMap.containsKey(currentOperator)) {
+                    String camerasPriority = DictUtils.getDictValue("cameras_priority", currentOperator);
+                    if(StringUtils.isNotEmpty(camerasPriority)) {
                         /*当前控制者为系统报警用户*/
-                        currentLevel = (Integer) CamPriority.priorityMap.get(currentOperator);
+                        currentLevel = Integer.valueOf(camerasPriority);
                     } else {
                         /*当前控制者为普通用户*/
                         SysUser sysUser = sysUserService.selectUserById(currentOperator);
                         currentLevel = sysUser.getCameraPriority();
                     }
                     Integer operatorLevel = 0;//获取申请者的优先级
-                    if (CamPriority.priorityMap.containsKey(operator)) {
+                    String operatorPriority = DictUtils.getDictValue("cameras_priority", operator);
+                    if (StringUtils.isNotEmpty(operatorPriority)) {
                         /*包含说明当前申请控制者为系统报警用户*/
-                        operatorLevel = (Integer) CamPriority.priorityMap.get(operator);
+                        operatorLevel = Integer.valueOf(operatorPriority);
                     } else {
                         /*否则申请控制者为当前登录用户*/
                         LoginUser loginUser = SecurityUtils.getLoginUser();
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java
index e2cb0f7..3ca0f65 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/MinioTask.java
@@ -26,17 +26,17 @@
         log.debug("执行历史数据删除");
         //遍历存储
         try {
-            List<String> buckets=new ArrayList<>();
+            List<String> buckets = new ArrayList<>();
             buckets.add("pic");
             buckets.add("record");
-            for (String name:buckets) {
+            for (String name : buckets) {
                 Iterable<Result<Item>> listObjectsPic = MinioUtils.getObjectsByBucket(name);
                 for (Result<Item> result : listObjectsPic) {
                     Item item = result.get();
                     DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.of("Asia/Shanghai"));
                     String objectTime = item.lastModified().format(formatter);
 
-                    Date now= new Date();
+                    Date now = new Date();
                     // 把日期往前增加一天,整数往后推,负数往前移动
                     Calendar calendar = new GregorianCalendar();
                     calendar.setTime(now);
@@ -49,9 +49,8 @@
                         log.debug("expireTime : " + expireTime);
                         log.debug("objectTime 时间在 expireTime 之前,执行删除");
                         boolean b = MinioUtils.removeObject(name, item.objectName());
-                        if(b)
-                        {
-                            log.debug("成功删除过期数据:"+ item.objectName()+"---"+item.lastModified());
+                        if (b) {
+                            log.debug("成功删除过期数据:" + item.objectName() + "---" + item.lastModified());
                         }
                     }
                 }
@@ -60,5 +59,4 @@
             log.error("minio历史数据删除异常:" + ex.getMessage());
         }
     }
-
 }
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
index 542133a..675ff00 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PatrolInspectionTask.java
@@ -1,26 +1,10 @@
 package com.ruoyi.quartz.task;
 
-import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
-import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.StringUtils;
-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.config.MinioClientSingleton;
-import com.ruoyi.device.hiksdk.service.IHikClientService;
-import com.ruoyi.inspect.domain.ArdVideoInspectRecord;
-import com.ruoyi.inspect.domain.ArdVideoInspectTask;
-import com.ruoyi.inspect.domain.ArdVideoInspectTaskStep;
-import com.ruoyi.inspect.service.IArdVideoInspectRecordService;
 import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
-
 import javax.annotation.Resource;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.*;
+
 
 /**
  * @Description: 巡检任务
@@ -30,13 +14,16 @@
  * @Version: 1.0
  **/
 @Component("PatrolInspectionTask")
-@Slf4j(topic = "PatrolInspectionTask")
 public class PatrolInspectionTask {
 
     @Resource
     IArdVideoInspectTaskService ardVideoInspectTaskService;
 
-    //巡检任务
+    /**
+     * 定时巡检任务
+     * 刘苏义
+     * 2023/8/9 9:18:42
+     */
     public void scanRun() {
       ardVideoInspectTaskService.autoTaskRun();
     }
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RongCloudTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RongCloudTask.java
index aa5a322..ded475e 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RongCloudTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RongCloudTask.java
@@ -28,25 +28,28 @@
     ISysUserService sysUserService;
     @Resource
     RongCloudService rongCloudService;
+    /**
+     * 定时获取app用户在线状态
+     * 刘苏义
+     * 2023/8/9 9:17:48
+     */
+    public void getAppUserOnlineStateTask() {
 
-    public void getAppUserOnlineStateTask()
-    {
-        try{
-        List<SysUser> SysUserList = sysUserService.selectAllAppUserList(new SysUser());
-        if(SysUserList.size()>0) {
-            for (SysUser sysUser : SysUserList) {
-                Boolean online = rongCloudService.checkOnline(sysUser.getUserId());
-                if (online) {
-                    sysUser.setAppOnlineState("1");
-                } else {
-                    sysUser.setAppOnlineState("0");
+        try {
+            List<SysUser> SysUserList = sysUserService.selectAllAppUserList(new SysUser());
+            if (SysUserList.size() > 0) {
+                for (SysUser sysUser : SysUserList) {
+                    Boolean online = rongCloudService.checkOnline(sysUser.getUserId());
+                    if (online) {
+                        sysUser.setAppOnlineState("1");
+                    } else {
+                        sysUser.setAppOnlineState("0");
+                    }
+                    sysUserService.updateUserProfile(sysUser);
                 }
-                sysUserService.updateUserProfile(sysUser);
             }
-        }}
-        catch (Exception ex)
-        {
-            log.error("融云在线接口异常:"+ex.getMessage());
+        } catch (Exception ex) {
+            log.error("融云在线接口异常:" + ex.getMessage());
         }
     }
 }

--
Gitblit v1.9.3