Commit a92acff99b42b588e19336b0676d5348cd2f8e93

Authored by YunaiV
1 parent abf61bfd

1. 升级 1.3.0-snapshot 版本

2.【修复】biz-data-permission 组件的缓存机制,导致部分 SQL 未进行数据过滤
... ... @@ -20,7 +20,7 @@
20 20 <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
21 21  
22 22 <properties>
23   - <revision>1.2.0-snapshot</revision>
  23 + <revision>1.3.0-snapshot</revision>
24 24 <!-- Maven 相关 -->
25 25 <java.version>1.8</java.version>
26 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 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 14 <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
15 15  
16 16 <properties>
17   - <revision>1.2.0-snapshot</revision>
  17 + <revision>1.3.0-snapshot</revision>
18 18 <!-- 统一依赖管理 -->
19 19 <spring.boot.version>2.4.5</spring.boot.version>
20 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 369 if (!rule.getTableNames().contains(table.getName())) {
370 370 continue;
371 371 }
  372 + // 如果有匹配的规则,说明可重写。
  373 + // 为什么不是有 allExpression 非空才重写呢?在生成 column = value 过滤条件时,会因为 value 不存在,导致未重写。
  374 + // 这样导致第一次无 value,被标记成无需重写;但是第二次有 value,此时会需要重写。
  375 + ContextHolder.setRewrite(true);
  376 +
372 377 // 单条规则的条件
373 378 String tableName = MyBatisUtils.getTableName(table);
374 379 Expression oneExpress = rule.getExpression(tableName, table.getAlias());
... ... @@ -377,10 +382,6 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
377 382 : new AndExpression(allExpression, oneExpress);
378 383 }
379 384  
380   - // 如果条件非空,说明已经重写了
381   - if (allExpression != null) {
382   - ContextHolder.setRewrite(true);
383   - }
384 385 return allExpression;
385 386 }
386 387  
... ... @@ -393,7 +394,7 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
393 394 if (ContextHolder.getRewrite()) {
394 395 return;
395 396 }
396   - // 有重写,进行添加
  397 + // 无重写,进行添加
397 398 mappedStatementCache.addNoRewritable(ms, ContextHolder.getRules());
398 399 }
399 400  
... ...
更新日志.md
... ... @@ -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 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 41 ### ⚠️ Warning
24 42  
... ... @@ -44,12 +62,6 @@
44 62  
45 63 * 【引入】mockito-inline 3.6.28:Mockito 提供对 final、static 的支持
46 64  
47   -### 📝 TODO
48   -
49   -* 支付
50   -* 用户前台的社交登陆
51   -* 用户前台的修改手机、修改密码、忘记密码
52   -
53 65 ## [v1.1.0] 2021.10.25
54 66  
55 67 * 新增管理后台的企业微信、钉钉等社交登录
... ...