Commit a92acff99b42b588e19336b0676d5348cd2f8e93

Authored by YunaiV
1 parent abf61bfd

1. 升级 1.3.0-snapshot 版本

2.【修复】biz-data-permission 组件的缓存机制,导致部分 SQL 未进行数据过滤
@@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
20 <url>https://github.com/YunaiV/ruoyi-vue-pro</url> 20 <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
21 21
22 <properties> 22 <properties>
23 - <revision>1.2.0-snapshot</revision> 23 + <revision>1.3.0-snapshot</revision>
24 <!-- Maven 相关 --> 24 <!-- Maven 相关 -->
25 <java.version>1.8</java.version> 25 <java.version>1.8</java.version>
26 <maven.compiler.source>${java.version}</maven.compiler.source> 26 <maven.compiler.source>${java.version}</maven.compiler.source>
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 { @@ -267,11 +267,4 @@ public class SysDeptServiceImpl implements SysDeptService {
267 } 267 }
268 } 268 }
269 269
270 -// @Override  
271 -// @DataScope(deptAlias = "d")  
272 -// public List<SysDept> selectDeptList(SysDept dept)  
273 -// {  
274 -// return deptMapper.selectDeptList(dept);  
275 -// }  
276 -  
277 } 270 }
yudao-dependencies/pom.xml
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 <url>https://github.com/YunaiV/ruoyi-vue-pro</url> 14 <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
15 15
16 <properties> 16 <properties>
17 - <revision>1.2.0-snapshot</revision> 17 + <revision>1.3.0-snapshot</revision>
18 <!-- 统一依赖管理 --> 18 <!-- 统一依赖管理 -->
19 <spring.boot.version>2.4.5</spring.boot.version> 19 <spring.boot.version>2.4.5</spring.boot.version>
20 <!-- Web 相关 --> 20 <!-- Web 相关 -->
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 @@ -369,6 +369,11 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
369 if (!rule.getTableNames().contains(table.getName())) { 369 if (!rule.getTableNames().contains(table.getName())) {
370 continue; 370 continue;
371 } 371 }
  372 + // 如果有匹配的规则,说明可重写。
  373 + // 为什么不是有 allExpression 非空才重写呢?在生成 column = value 过滤条件时,会因为 value 不存在,导致未重写。
  374 + // 这样导致第一次无 value,被标记成无需重写;但是第二次有 value,此时会需要重写。
  375 + ContextHolder.setRewrite(true);
  376 +
372 // 单条规则的条件 377 // 单条规则的条件
373 String tableName = MyBatisUtils.getTableName(table); 378 String tableName = MyBatisUtils.getTableName(table);
374 Expression oneExpress = rule.getExpression(tableName, table.getAlias()); 379 Expression oneExpress = rule.getExpression(tableName, table.getAlias());
@@ -377,10 +382,6 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme @@ -377,10 +382,6 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
377 : new AndExpression(allExpression, oneExpress); 382 : new AndExpression(allExpression, oneExpress);
378 } 383 }
379 384
380 - // 如果条件非空,说明已经重写了  
381 - if (allExpression != null) {  
382 - ContextHolder.setRewrite(true);  
383 - }  
384 return allExpression; 385 return allExpression;
385 } 386 }
386 387
@@ -393,7 +394,7 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme @@ -393,7 +394,7 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
393 if (ContextHolder.getRewrite()) { 394 if (ContextHolder.getRewrite()) {
394 return; 395 return;
395 } 396 }
396 - // 有重写,进行添加 397 + // 无重写,进行添加
397 mappedStatementCache.addNoRewritable(ms, ContextHolder.getRules()); 398 mappedStatementCache.addNoRewritable(ms, ContextHolder.getRules());
398 } 399 }
399 400
更新日志.md
@@ -2,8 +2,9 @@ @@ -2,8 +2,9 @@
2 2
3 * 邮件 3 * 邮件
4 * 钉钉、飞书等通知 4 * 钉钉、飞书等通知
  5 +* Vue3 支持
5 6
6 -## [v1.3.0] 待定 7 +## [v1.4.0] 计划
7 8
8 * 工作流 9 * 工作流
9 * 修改表单为外置表单 10 * 修改表单为外置表单
@@ -17,8 +18,25 @@ @@ -17,8 +18,25 @@
17 * 请假查询中,可以查询本人的请假申请, 和进度 18 * 请假查询中,可以查询本人的请假申请, 和进度
18 * 流程跟踪图 待实现 19 * 流程跟踪图 待实现
19 20
  21 +## [v1.3.0] 进行中
20 22
21 -## [v1.2.0] 进行中 23 +### ⚠️ Warning
  24 +
  25 +### ⭐ New Features
  26 +
  27 +### 🐞 Bug Fixes
  28 +
  29 +* 【修复】biz-data-permission 组件的缓存机制,导致部分 SQL 未进行数据过滤
  30 +
  31 +### 🔨 Dependency Upgrades
  32 +
  33 +### 📝 TODO
  34 +
  35 +* 支付
  36 +* 用户前台的社交登陆
  37 +* 用户前台的修改手机、修改密码、忘记密码
  38 +
  39 +## [v1.2.0]
22 40
23 ### ⚠️ Warning 41 ### ⚠️ Warning
24 42
@@ -44,12 +62,6 @@ @@ -44,12 +62,6 @@
44 62
45 * 【引入】mockito-inline 3.6.28:Mockito 提供对 final、static 的支持 63 * 【引入】mockito-inline 3.6.28:Mockito 提供对 final、static 的支持
46 64
47 -### 📝 TODO  
48 -  
49 -* 支付  
50 -* 用户前台的社交登陆  
51 -* 用户前台的修改手机、修改密码、忘记密码  
52 -  
53 ## [v1.1.0] 2021.10.25 65 ## [v1.1.0] 2021.10.25
54 66
55 * 新增管理后台的企业微信、钉钉等社交登录 67 * 新增管理后台的企业微信、钉钉等社交登录