From 46f7995983615272a31d09965a86d436e4a9ee4d Mon Sep 17 00:00:00 2001 From: liusuyi <1951119284@qq.com> Date: 星期四, 08 八月 2024 16:31:16 +0800 Subject: [PATCH] 增加:获取群组详情关联群组人员信息 --- ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java | 47 +++++++++++++++++++++++++++++++---------------- 1 files changed, 31 insertions(+), 16 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 868981f..b96c19a 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,23 +1,27 @@ package com.ruoyi.framework.aspectj; +import com.ruoyi.common.core.domain.AjaxResult; 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.sdkPriority; 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 org.apache.ibatis.jdbc.Null; +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鎺у埗澶勭悊 @@ -26,6 +30,7 @@ */ @Aspect @Component +@Slf4j(topic = "sdk") public class SdkOperateAspect { @Resource @@ -40,11 +45,16 @@ @Around("dsPointCut()") public Object around(ProceedingJoinPoint point) throws Throwable { - Boolean resultMap = dataScopeFilter(point); - if (resultMap) { + MethodSignature signature = (MethodSignature) point.getSignature(); + Method method = signature.getMethod(); + Boolean result = controlScopeFilter(point); + if (result) { + log.debug("宸茶幏鍙栫浉鏈烘帶鍒舵潈--" + method.getName()); + // 鎵ц鐩爣鏂规硶 return point.proceed(); } else { - return false;//浠f浛鐩爣鏂规硶鐨勮繑鍥炲�� + log.debug("鏈幏鍙栫浉鏈烘帶鍒舵潈--" + method.getName()); + return AjaxResult.error("鏈幏鍙栫浉鏈烘帶鍒舵潈--" + method.getName());//浠f浛鐩爣鏂规硶鐨勮繑鍥炲�� } } @@ -53,7 +63,8 @@ * * @param joinPoint 鍒囩偣 */ - public Boolean dataScopeFilter(ProceedingJoinPoint joinPoint) { + public Boolean controlScopeFilter(ProceedingJoinPoint joinPoint) { + //鑾峰彇璇锋眰鎺у埗鐩告満鐨勫懡浠や俊鎭� CameraCmd cmd = (CameraCmd) joinPoint.getArgs()[0]; String operator = cmd.getOperator();//鐢宠鑰� @@ -84,23 +95,29 @@ } else { /*褰撳墠鐩告満鏈変汉鎺у埗骞朵笖閰嶇疆浜嗚繃鏈熸椂闂达紝鍏堝垽鏂紭鍏堢骇锛屼紭鍏堢骇楂樺厑璁告帶鍒�*/ Integer currentLevel = 0;//褰撳墠鐩告満鐨勬搷浣滆�呯殑浼樺厛绾� - if (sdkPriority.priorityMap.containsKey(currentOperator)) { + String camerasPriority = DictUtils.getDictValue("cameras_priority", currentOperator); + if(StringUtils.isNotEmpty(camerasPriority)) { /*褰撳墠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/ - currentLevel = (Integer) sdkPriority.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 (sdkPriority.priorityMap.containsKey(operator)) { + String operatorPriority = DictUtils.getDictValue("cameras_priority", operator); + if (StringUtils.isNotEmpty(operatorPriority)) { /*鍖呭惈璇存槑褰撳墠鐢宠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/ - operatorLevel = (Integer) sdkPriority.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) { @@ -111,7 +128,6 @@ return true; } else { /*濡傛灉鐢宠鑰呬紭鍏堢骇浣庯紝鍒欏垽鏂繃鏈熸椂闂�*/ - Date now = new Date(); if (currentExpired == null) { /*褰撳墠鐩告満鏈厤缃繃鏈熸椂闂达紝鍙帶*/ ardCameras.setOperatorId(operator); @@ -119,7 +135,7 @@ ardCamerasService.updateArdCameras(ardCameras);//鏇存柊鐩告満褰撳墠鎺у埗鑰� return true; } else { - if (now.before(currentExpired)) { + if (new Date().before(currentExpired)) { /*鏃堕棿鏈繃鏈燂紝涓嶅彲鎺�*/ return false; } else { @@ -133,6 +149,5 @@ } } } - } } -- Gitblit v1.9.3