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