Commit 5cc3e6510b0328f6ab9c913df9cb1346add9be7b

Authored by JUNHAO
1 parent ebf4ac1d

使用Parenthesis为原有表达式添加括号

yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java
... ... @@ -7,7 +7,6 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
7 7 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
8 8 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
9 9 import cn.iocoder.yudao.framework.datapermission.core.rule.DataPermissionRule;
10   -import cn.iocoder.yudao.framework.expression.OrExpressionX;
11 10 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
12 11 import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
13 12 import cn.iocoder.yudao.framework.security.core.LoginUser;
... ... @@ -17,10 +16,8 @@ import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespD
17 16 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
18 17 import lombok.AllArgsConstructor;
19 18 import lombok.extern.slf4j.Slf4j;
20   -import net.sf.jsqlparser.expression.Alias;
21   -import net.sf.jsqlparser.expression.Expression;
22   -import net.sf.jsqlparser.expression.LongValue;
23   -import net.sf.jsqlparser.expression.NullValue;
  19 +import net.sf.jsqlparser.expression.*;
  20 +import net.sf.jsqlparser.expression.operators.conditional.OrExpression;
24 21 import net.sf.jsqlparser.expression.operators.relational.EqualsTo;
25 22 import net.sf.jsqlparser.expression.operators.relational.ExpressionList;
26 23 import net.sf.jsqlparser.expression.operators.relational.InExpression;
... ... @@ -144,7 +141,7 @@ public class DeptDataPermissionRule implements DataPermissionRule {
144 141 return deptExpression;
145 142 }
146 143 // 目前,如果有指定部门 + 可查看自己,采用 OR 条件。即,WHERE (dept_id IN ? OR user_id = ?)
147   - return new OrExpressionX(deptExpression, userExpression);
  144 + return new Parenthesis(new OrExpression(deptExpression, userExpression));
148 145 }
149 146  
150 147 private Expression buildDeptExpression(String tableName, Alias tableAlias, Set<Long> deptIds) {
... ...
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/expression/AndExpressionX.java deleted
1   -package cn.iocoder.yudao.framework.expression;
2   -
3   -import net.sf.jsqlparser.expression.Expression;
4   -import net.sf.jsqlparser.expression.operators.conditional.AndExpression;
5   -
6   -/**
7   - * AndExpression 的扩展类(会在原有表达式两端加上括号)
8   - */
9   -public class AndExpressionX extends AndExpression {
10   -
11   - public AndExpressionX() {
12   - }
13   -
14   - public AndExpressionX(Expression leftExpression, Expression rightExpression) {
15   - this.setLeftExpression(leftExpression);
16   - this.setRightExpression(rightExpression);
17   - }
18   -
19   - @Override
20   - public String toString() {
21   - return "(" + super.toString() + ")";
22   - }
23   -
24   -}
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/expression/OrExpressionX.java deleted
1   -package cn.iocoder.yudao.framework.expression;
2   -
3   -import net.sf.jsqlparser.expression.Expression;
4   -import net.sf.jsqlparser.expression.operators.conditional.OrExpression;
5   -
6   -/**
7   - * OrExpression 的扩展类(会在原有表达式两端加上括号)
8   - */
9   -public class OrExpressionX extends OrExpression {
10   -
11   - public OrExpressionX() {
12   - }
13   -
14   - public OrExpressionX(Expression leftExpression, Expression rightExpression) {
15   - this.setLeftExpression(leftExpression);
16   - this.setRightExpression(rightExpression);
17   - }
18   -
19   - @Override
20   - public String toString() {
21   - return "(" + super.toString() + ")";
22   - }
23   -
24   -}