From 161b9318e345c8a0c9cdc133b33a1c759495f323 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Wed, 09 Aug 2023 11:37:36 +0800
Subject: [PATCH] 修改相机操控优先级字段为字符串与字典匹配
---
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java | 24 +++++++++++-------------
1 files changed, 11 insertions(+), 13 deletions(-)
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..156446a 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,23 +93,25 @@
} 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();
+ currentLevel = Integer.valueOf(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();
SysUser user = loginUser.getUser();//获取登录用户的信息
- operatorLevel = user.getCameraPriority();
+ operatorLevel = Integer.valueOf(user.getCameraPriority());
}
/*申请者未控则判断优先级*/
if (operatorLevel > currentLevel) {
--
Gitblit v1.9.3