From cc0f1cda67f939f9bfda7c386464623b34b78bdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= <2270033969@qq.com> Date: Wed, 25 Dec 2024 09:36:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(data):=20=E6=94=AF=E6=8C=81=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E5=8F=82=E6=95=B0=E8=B7=B3=E8=BF=87=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用法: DataScope dataScope = new DataScope(); dataScope.setSkip(true); baseMapper.selectPageByScope(page, wrapper, dataScope); --- .../com/pig4cloud/pigx/common/data/datascope/DataScope.java | 5 +++++ .../common/data/datascope/DataScopeInnerInterceptor.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScope.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScope.java index 9bd1299f2..f609b6aeb 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScope.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScope.java @@ -32,6 +32,11 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public class DataScope extends HashMap { + /** + * 跳过数据权限,直接在参数设置 skip + */ + private boolean skip = false; + /** * 限制范围的字段名称 */ diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeInnerInterceptor.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeInnerInterceptor.java index ba6f3d065..90e736b1b 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeInnerInterceptor.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/datascope/DataScopeInnerInterceptor.java @@ -37,6 +37,11 @@ public class DataScopeInnerInterceptor implements DataScopeInterceptor { return; } + // 是否强制跳过数据权限 + if (dataScope.isSkip()) { + return; + } + // 返回true 不拦截直接返回原始 SQL (只针对 * 查询) if (DataScopeFuncEnum.ALL.equals(dataScope.getFunc()) && dataScopeHandle.calcScope(dataScope)) { return;