From a92acff99b42b588e19336b0676d5348cd2f8e93 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Thu, 16 Dec 2021 07:19:52 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=8D=87=E7=BA=A7=201.3.0-snapshot=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=202.=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91biz-?= =?UTF-8?q?data-permission=20=E7=BB=84=E4=BB=B6=E7=9A=84=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E6=9C=BA=E5=88=B6=EF=BC=8C=E5=AF=BC=E8=87=B4=E9=83=A8=E5=88=86?= =?UTF-8?q?=20SQL=20=E6=9C=AA=E8=BF=9B=E8=A1=8C=E6=95=B0=E6=8D=AE=E8=BF=87?= =?UTF-8?q?=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../service/dept/impl/SysDeptServiceImpl.java | 7 ----- yudao-dependencies/pom.xml | 2 +- .../db/DataPermissionDatabaseInterceptor.java | 11 ++++---- 更新日志.md | 28 +++++++++++++------ 5 files changed, 28 insertions(+), 22 deletions(-) diff --git a/pom.xml b/pom.xml index b6290c1d6..1991389bc 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ https://github.com/YunaiV/ruoyi-vue-pro - 1.2.0-snapshot + 1.3.0-snapshot 1.8 ${java.version} diff --git a/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/service/dept/impl/SysDeptServiceImpl.java b/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/service/dept/impl/SysDeptServiceImpl.java index 2eccdf721..30368d407 100644 --- a/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/service/dept/impl/SysDeptServiceImpl.java +++ b/yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/service/dept/impl/SysDeptServiceImpl.java @@ -267,11 +267,4 @@ public class SysDeptServiceImpl implements SysDeptService { } } -// @Override -// @DataScope(deptAlias = "d") -// public List selectDeptList(SysDept dept) -// { -// return deptMapper.selectDeptList(dept); -// } - } diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml index 1730bb74c..4f329e120 100644 --- a/yudao-dependencies/pom.xml +++ b/yudao-dependencies/pom.xml @@ -14,7 +14,7 @@ https://github.com/YunaiV/ruoyi-vue-pro - 1.2.0-snapshot + 1.3.0-snapshot 2.4.5 diff --git a/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/db/DataPermissionDatabaseInterceptor.java b/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/db/DataPermissionDatabaseInterceptor.java index e181b19d8..a9a4d24d4 100644 --- a/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/db/DataPermissionDatabaseInterceptor.java +++ b/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/db/DataPermissionDatabaseInterceptor.java @@ -369,6 +369,11 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme if (!rule.getTableNames().contains(table.getName())) { continue; } + // 如果有匹配的规则,说明可重写。 + // 为什么不是有 allExpression 非空才重写呢?在生成 column = value 过滤条件时,会因为 value 不存在,导致未重写。 + // 这样导致第一次无 value,被标记成无需重写;但是第二次有 value,此时会需要重写。 + ContextHolder.setRewrite(true); + // 单条规则的条件 String tableName = MyBatisUtils.getTableName(table); Expression oneExpress = rule.getExpression(tableName, table.getAlias()); @@ -377,10 +382,6 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme : new AndExpression(allExpression, oneExpress); } - // 如果条件非空,说明已经重写了 - if (allExpression != null) { - ContextHolder.setRewrite(true); - } return allExpression; } @@ -393,7 +394,7 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme if (ContextHolder.getRewrite()) { return; } - // 有重写,进行添加 + // 无重写,进行添加 mappedStatementCache.addNoRewritable(ms, ContextHolder.getRules()); } diff --git a/更新日志.md b/更新日志.md index 03426ff9a..cd739ba57 100644 --- a/更新日志.md +++ b/更新日志.md @@ -2,8 +2,9 @@ * 邮件 * 钉钉、飞书等通知 +* Vue3 支持 -## [v1.3.0] 待定 +## [v1.4.0] 计划 * 工作流 * 修改表单为外置表单 @@ -17,8 +18,25 @@ * 请假查询中,可以查询本人的请假申请, 和进度 * 流程跟踪图 待实现 +## [v1.3.0] 进行中 -## [v1.2.0] 进行中 +### ⚠️ Warning + +### ⭐ New Features + +### 🐞 Bug Fixes + +* 【修复】biz-data-permission 组件的缓存机制,导致部分 SQL 未进行数据过滤 + +### 🔨 Dependency Upgrades + +### 📝 TODO + +* 支付 +* 用户前台的社交登陆 +* 用户前台的修改手机、修改密码、忘记密码 + +## [v1.2.0] ### ⚠️ Warning @@ -44,12 +62,6 @@ * 【引入】mockito-inline 3.6.28:Mockito 提供对 final、static 的支持 -### 📝 TODO - -* 支付 -* 用户前台的社交登陆 -* 用户前台的修改手机、修改密码、忘记密码 - ## [v1.1.0] 2021.10.25 * 新增管理后台的企业微信、钉钉等社交登录