From ba8b1496ba9881719e522d0a60a8c86baa7be08b Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Sat, 20 Dec 2025 10:34:23 +0800
Subject: [PATCH] 优化飞行状态
---
ard-framework/src/main/java/com/ard/framework/aspectj/DataScopePlusAspect.java | 224 ++++++++++++++++++++++++++++----------------------------
1 files changed, 112 insertions(+), 112 deletions(-)
diff --git a/ard-framework/src/main/java/com/ard/framework/aspectj/DataScopePlusAspect.java b/ard-framework/src/main/java/com/ard/framework/aspectj/DataScopePlusAspect.java
index 60ad5bb..ec35d20 100644
--- a/ard-framework/src/main/java/com/ard/framework/aspectj/DataScopePlusAspect.java
+++ b/ard-framework/src/main/java/com/ard/framework/aspectj/DataScopePlusAspect.java
@@ -21,116 +21,116 @@
@Aspect
@Component
public class DataScopePlusAspect {
- /**
- * 全部数据权限
- */
- public static final String DATA_SCOPE_ALL = "1";
-
- /**
- * 自定数据权限
- */
- public static final String DATA_SCOPE_CUSTOM = "2";
-
- /**
- * 部门数据权限
- */
- public static final String DATA_SCOPE_DEPT = "3";
-
- /**
- * 部门及以下数据权限
- */
- public static final String DATA_SCOPE_DEPT_AND_CHILD = "4";
-
- /**
- * 仅本人数据权限
- */
- public static final String DATA_SCOPE_SELF = "5";
-
-
- @Pointcut("@annotation(com.ard.common.annotation.DataScopePlus)")
- public void dataScopePointcut() {
- }
-
- @Before("@annotation(controllerDataScopePlus)")
- public void doBefore(JoinPoint joinPoint, DataScopePlus controllerDataScopePlus) {
- handleDataScope(joinPoint, controllerDataScopePlus);
- }
-
- protected void handleDataScope(final JoinPoint joinPoint, DataScopePlus controllerDataScope) {
- // 获取当前用户
- LoginUser loginUser = SecurityUtils.getLoginUser();
- if (StringUtils.isNotNull(loginUser)) {
- SysUser currentUser = loginUser.getUser();
- if (currentUser != null && !currentUser.isAdmin()) {
- String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(),
- PermissionContextHolder.getContext());
- dataScopeFilter(joinPoint, currentUser, permission);
- }
- }
- }
-
- private void dataScopeFilter(JoinPoint joinPoint, SysUser user, String permission) {
- StringBuilder sqlString = new StringBuilder();
- List<String> conditions = new ArrayList<>();
- List<String> scopeCustomIds = new ArrayList<>();
-
- // 获取用户角色并遍历进行权限检查
- user.getRoles().forEach(role -> {
- if (DATA_SCOPE_CUSTOM.equals(role.getDataScope()) && StringUtils.equals(role.getStatus(),
- UserConstants.ROLE_NORMAL)) {
- if (StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission))) {
- scopeCustomIds.add(Convert.toStr(role.getRoleId()));
- }
- }
- });
-
- for (SysRole role : user.getRoles()) {
- String dataScope = role.getDataScope();
- if (conditions.contains(dataScope) || StringUtils.equals(role.getStatus(), UserConstants.ROLE_DISABLE)) {
- continue;
- }
-
- if (!StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission))) {
- continue;
- }
-
- if (DATA_SCOPE_ALL.equals(dataScope)) {
- sqlString = new StringBuilder();
- conditions.add(dataScope);
- break;
- } else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
- // 自定义数据权限
- if (scopeCustomIds.size() > 1) {
- sqlString.append(StringUtils.format(" OR dept_id IN (SELECT dept_id FROM sys_role_dept WHERE " +
- "role_id IN ({}) )", String.join(",", scopeCustomIds)));
- } else {
- sqlString.append(StringUtils.format(" OR dept_id IN (SELECT dept_id FROM sys_role_dept WHERE " +
- "role_id = {} )", role.getRoleId()));
- }
- } else if (DATA_SCOPE_DEPT.equals(dataScope)) {
- // 部门数据权限
- sqlString.append(StringUtils.format(" OR dept_id = {}", user.getDeptId()));
- } 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 find_in_set({}, ancestors))", user.getDeptId(), user.getDeptId()));
- } else if (DATA_SCOPE_SELF.equals(dataScope)) {
- // 仅本人数据权限
- sqlString.append(StringUtils.format(" OR user_id = {}", user.getUserId()));
- }
- conditions.add(dataScope);
- }
- QueryWrapper<?> queryWrapper = getQueryWrapper(joinPoint);
- if (StringUtils.isNotBlank(sqlString.toString())) {
- queryWrapper.apply(sqlString.substring(4));
- }
- }
-
- private QueryWrapper<?> getQueryWrapper(JoinPoint joinPoint) {
- Object[] args = joinPoint.getArgs();
- if (args != null && args.length > 0 && args[0] instanceof QueryWrapper) {
- return (QueryWrapper<?>) args[0];
- }
- return null;
- }
+// /**
+// * 全部数据权限
+// */
+// public static final String DATA_SCOPE_ALL = "1";
+//
+// /**
+// * 自定数据权限
+// */
+// public static final String DATA_SCOPE_CUSTOM = "2";
+//
+// /**
+// * 部门数据权限
+// */
+// public static final String DATA_SCOPE_DEPT = "3";
+//
+// /**
+// * 部门及以下数据权限
+// */
+// public static final String DATA_SCOPE_DEPT_AND_CHILD = "4";
+//
+// /**
+// * 仅本人数据权限
+// */
+// public static final String DATA_SCOPE_SELF = "5";
+//
+//
+// @Pointcut("@annotation(com.ard.common.annotation.DataScopePlus)")
+// public void dataScopePointcut() {
+// }
+//
+// @Before("@annotation(controllerDataScopePlus)")
+// public void doBefore(JoinPoint joinPoint, DataScopePlus controllerDataScopePlus) {
+// handleDataScope(joinPoint, controllerDataScopePlus);
+// }
+//
+// protected void handleDataScope(final JoinPoint joinPoint, DataScopePlus controllerDataScope) {
+// // 获取当前用户
+// LoginUser loginUser = SecurityUtils.getLoginUser();
+// if (StringUtils.isNotNull(loginUser)) {
+// SysUser currentUser = loginUser.getUser();
+// if (currentUser != null && !currentUser.isAdmin()) {
+// String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(),
+// PermissionContextHolder.getContext());
+// dataScopeFilter(joinPoint, currentUser, permission);
+// }
+// }
+// }
+//
+// private void dataScopeFilter(JoinPoint joinPoint, SysUser user, String permission) {
+// StringBuilder sqlString = new StringBuilder();
+// List<String> conditions = new ArrayList<>();
+// List<String> scopeCustomIds = new ArrayList<>();
+//
+// // 获取用户角色并遍历进行权限检查
+// user.getRoles().forEach(role -> {
+// if (DATA_SCOPE_CUSTOM.equals(role.getDataScope()) && StringUtils.equals(role.getStatus(),
+// UserConstants.ROLE_NORMAL)) {
+// if (StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission))) {
+// scopeCustomIds.add(Convert.toStr(role.getRoleId()));
+// }
+// }
+// });
+//
+// for (SysRole role : user.getRoles()) {
+// String dataScope = role.getDataScope();
+// if (conditions.contains(dataScope) || StringUtils.equals(role.getStatus(), UserConstants.ROLE_DISABLE)) {
+// continue;
+// }
+//
+// if (!StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission))) {
+// continue;
+// }
+//
+// if (DATA_SCOPE_ALL.equals(dataScope)) {
+// sqlString = new StringBuilder();
+// conditions.add(dataScope);
+// break;
+// } else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
+// // 自定义数据权限
+// if (scopeCustomIds.size() > 1) {
+// sqlString.append(StringUtils.format(" OR dept_id IN (SELECT dept_id FROM sys_role_dept WHERE " +
+// "role_id IN ({}) )", String.join(",", scopeCustomIds)));
+// } else {
+// sqlString.append(StringUtils.format(" OR dept_id IN (SELECT dept_id FROM sys_role_dept WHERE " +
+// "role_id = {} )", role.getRoleId()));
+// }
+// } else if (DATA_SCOPE_DEPT.equals(dataScope)) {
+// // 部门数据权限
+// sqlString.append(StringUtils.format(" OR dept_id = {}", user.getDeptId()));
+// } 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 find_in_set({}, ancestors))", user.getDeptId(), user.getDeptId()));
+// } else if (DATA_SCOPE_SELF.equals(dataScope)) {
+// // 仅本人数据权限
+// sqlString.append(StringUtils.format(" OR user_id = {}", user.getUserId()));
+// }
+// conditions.add(dataScope);
+// }
+// QueryWrapper<?> queryWrapper = getQueryWrapper(joinPoint);
+// if (StringUtils.isNotBlank(sqlString.toString())) {
+// queryWrapper.apply(sqlString.substring(4));
+// }
+// }
+//
+// private QueryWrapper<?> getQueryWrapper(JoinPoint joinPoint) {
+// Object[] args = joinPoint.getArgs();
+// if (args != null && args.length > 0 && args[0] instanceof QueryWrapper) {
+// return (QueryWrapper<?>) args[0];
+// }
+// return null;
+// }
}
--
Gitblit v1.9.3