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/DataScopeAspect.java | 78 +++++++++++++-------------------------
1 files changed, 27 insertions(+), 51 deletions(-)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
index a4dcc41..87bcc07 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
@@ -2,6 +2,7 @@
import java.util.ArrayList;
import java.util.List;
+
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@@ -23,8 +24,7 @@
*/
@Aspect
@Component
-public class DataScopeAspect
-{
+public class DataScopeAspect {
/**
* 鍏ㄩ儴鏁版嵁鏉冮檺
*/
@@ -56,22 +56,18 @@
public static final String DATA_SCOPE = "dataScope";
@Before("@annotation(controllerDataScope)")
- public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable
- {
+ public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable {
clearDataScope(point);
handleDataScope(point, controllerDataScope);
}
- protected void handleDataScope(final JoinPoint joinPoint, DataScope controllerDataScope)
- {
+ protected void handleDataScope(final JoinPoint joinPoint, DataScope controllerDataScope) {
// 鑾峰彇褰撳墠鐨勭敤鎴�
LoginUser loginUser = SecurityUtils.getLoginUser();
- if (StringUtils.isNotNull(loginUser))
- {
+ if (StringUtils.isNotNull(loginUser)) {
SysUser currentUser = loginUser.getUser();
// 濡傛灉鏄秴绾х鐞嗗憳锛屽垯涓嶈繃婊ゆ暟鎹�;濡傛灉鏄痑pp鎸囨尌绔紝鍒欎笉杩囨护鏁版嵁;
- if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin())
- {
+ if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) {
String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), PermissionContextHolder.getContext());
dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
controllerDataScope.userAlias(), permission);
@@ -83,58 +79,42 @@
/**
* 鏁版嵁鑼冨洿杩囨护
*
- * @param joinPoint 鍒囩偣
- * @param user 鐢ㄦ埛
- * @param deptAlias 閮ㄩ棬鍒悕
- * @param userAlias 鐢ㄦ埛鍒悕
+ * @param joinPoint 鍒囩偣
+ * @param user 鐢ㄦ埛
+ * @param deptAlias 閮ㄩ棬鍒悕
+ * @param userAlias 鐢ㄦ埛鍒悕
* @param permission 鏉冮檺瀛楃
*/
- public static void dataScopeFilter(JoinPoint joinPoint, SysUser user, String deptAlias, String userAlias, String permission)
- {
+ public static void dataScopeFilter(JoinPoint joinPoint, SysUser user, String deptAlias, String userAlias, String permission) {
StringBuilder sqlString = new StringBuilder();
List<String> conditions = new ArrayList<String>();
- for (SysRole role : user.getRoles())
- {
+ for (SysRole role : user.getRoles()) {
String dataScope = role.getDataScope();
- if (!DATA_SCOPE_CUSTOM.equals(dataScope) && conditions.contains(dataScope))
- {
+ if (!DATA_SCOPE_CUSTOM.equals(dataScope) && conditions.contains(dataScope)) {
continue;
}
if (StringUtils.isNotEmpty(permission) && StringUtils.isNotEmpty(role.getPermissions())
- && !StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission)))
- {
+ && !StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission))) {
continue;
}
- if (DATA_SCOPE_ALL.equals(dataScope))
- {
+ if (DATA_SCOPE_ALL.equals(dataScope)) {
sqlString = new StringBuilder();
break;
- }
- else if (DATA_SCOPE_CUSTOM.equals(dataScope))
- {
+ } else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
sqlString.append(StringUtils.format(
" OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
role.getRoleId()));
- }
- else if (DATA_SCOPE_DEPT.equals(dataScope))
- {
+ } else if (DATA_SCOPE_DEPT.equals(dataScope)) {
sqlString.append(StringUtils.format(" OR {}.dept_id = {} ", deptAlias, user.getDeptId()));
- }
- else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope))
- {
+ } else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) {
sqlString.append(StringUtils.format(
- " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or '{}'= any(string_to_array(ancestors,',') ))",
- deptAlias, user.getDeptId(), user.getDeptId()));
- }
- else if (DATA_SCOPE_SELF.equals(dataScope))
- {
- if (StringUtils.isNotBlank(userAlias))
- {
+ " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or CAST ( {} AS VARCHAR ) = ANY ( string_to_array( ancestors, ',' )))",
+ deptAlias, user.getDeptId(),user.getDeptId()));
+ } else if (DATA_SCOPE_SELF.equals(dataScope)) {
+ if (StringUtils.isNotBlank(userAlias)) {
sqlString.append(StringUtils.format(" OR {}.user_id = '{}' ", userAlias, user.getUserId()));
- }
- else
- {
+ } else {
// 鏁版嵁鏉冮檺涓轰粎鏈汉涓旀病鏈塽serAlias鍒悕涓嶆煡璇换浣曟暟鎹�
sqlString.append(StringUtils.format(" OR {}.dept_id = 0 ", deptAlias));
}
@@ -142,11 +122,9 @@
conditions.add(dataScope);
}
- if (StringUtils.isNotBlank(sqlString.toString()))
- {
+ if (StringUtils.isNotBlank(sqlString.toString())) {
Object params = joinPoint.getArgs()[0];
- if (StringUtils.isNotNull(params) && params instanceof BaseEntity)
- {
+ if (StringUtils.isNotNull(params) && params instanceof BaseEntity) {
BaseEntity baseEntity = (BaseEntity) params;
baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
}
@@ -156,11 +134,9 @@
/**
* 鎷兼帴鏉冮檺sql鍓嶅厛娓呯┖params.dataScope鍙傛暟闃叉娉ㄥ叆
*/
- private void clearDataScope(final JoinPoint joinPoint)
- {
+ private void clearDataScope(final JoinPoint joinPoint) {
Object params = joinPoint.getArgs()[0];
- if (StringUtils.isNotNull(params) && params instanceof BaseEntity)
- {
+ if (StringUtils.isNotNull(params) && params instanceof BaseEntity) {
BaseEntity baseEntity = (BaseEntity) params;
baseEntity.getParams().put(DATA_SCOPE, "");
}
--
Gitblit v1.9.3