From 6642bd2b06a87e8498bc83a0cc0e2a3d8ca2a582 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期二, 26 九月 2023 09:28:54 +0800
Subject: [PATCH] 设备健康列表
---
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java | 33 ++++++++++++++++++++++++---------
1 files changed, 24 insertions(+), 9 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 3217b04..32d77f4 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
@@ -2,21 +2,25 @@
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.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;
-
import javax.annotation.Resource;
+import java.lang.reflect.Method;
import java.util.Date;
+
/**
* SDK鎺у埗澶勭悊
@@ -25,6 +29,7 @@
*/
@Aspect
@Component
+@Slf4j(topic = "hikSdk")
public class SdkOperateAspect {
@Resource
@@ -39,10 +44,14 @@
@Around("dsPointCut()")
public Object around(ProceedingJoinPoint point) throws Throwable {
+ MethodSignature signature = (MethodSignature) point.getSignature();
+ Method method = signature.getMethod();
Boolean result = controlScopeFilter(point);
if (result) {
+ log.debug("宸茶幏鍙栫浉鏈烘帶鍒舵潈--" + method.getName());
return point.proceed();
} else {
+ log.debug("鏈幏鍙栫浉鏈烘帶鍒舵潈--" + method.getName());
return false;//浠f浛鐩爣鏂规硶鐨勮繑鍥炲��
}
}
@@ -53,6 +62,7 @@
* @param joinPoint 鍒囩偣
*/
public Boolean controlScopeFilter(ProceedingJoinPoint joinPoint) {
+
//鑾峰彇璇锋眰鎺у埗鐩告満鐨勫懡浠や俊鎭�
CameraCmd cmd = (CameraCmd) joinPoint.getArgs()[0];
String operator = cmd.getOperator();//鐢宠鑰�
@@ -83,23 +93,29 @@
} 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();
+ if(StringUtils.isNull(sysUser))
+ {
+ return true;
+ }
+ 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) {
@@ -131,6 +147,5 @@
}
}
}
-
}
}
--
Gitblit v1.9.3