Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
2203d8bd
提交
2203d8bd
authored
12月 29, 2022
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
328 fix: SQL 条件表达式缺少括号问题
上级
7902fe5c
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
51 行增加
和
3 行删除
+51
-3
DeptDataPermissionRule.java
...datapermission/core/rule/dept/DeptDataPermissionRule.java
+3
-3
AndExpressionX.java
...cn/iocoder/yudao/framework/expression/AndExpressionX.java
+24
-0
OrExpressionX.java
.../cn/iocoder/yudao/framework/expression/OrExpressionX.java
+24
-0
没有找到文件。
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java
浏览文件 @
2203d8bd
...
@@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
...
@@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
import
cn.iocoder.yudao.framework.common.util.collection.CollectionUtils
;
import
cn.iocoder.yudao.framework.common.util.collection.CollectionUtils
;
import
cn.iocoder.yudao.framework.common.util.json.JsonUtils
;
import
cn.iocoder.yudao.framework.common.util.json.JsonUtils
;
import
cn.iocoder.yudao.framework.datapermission.core.rule.DataPermissionRule
;
import
cn.iocoder.yudao.framework.datapermission.core.rule.DataPermissionRule
;
import
cn.iocoder.yudao.framework.expression.OrExpressionX
;
import
cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO
;
import
cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO
;
import
cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils
;
import
cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils
;
import
cn.iocoder.yudao.framework.security.core.LoginUser
;
import
cn.iocoder.yudao.framework.security.core.LoginUser
;
...
@@ -20,7 +21,6 @@ import net.sf.jsqlparser.expression.Alias;
...
@@ -20,7 +21,6 @@ import net.sf.jsqlparser.expression.Alias;
import
net.sf.jsqlparser.expression.Expression
;
import
net.sf.jsqlparser.expression.Expression
;
import
net.sf.jsqlparser.expression.LongValue
;
import
net.sf.jsqlparser.expression.LongValue
;
import
net.sf.jsqlparser.expression.NullValue
;
import
net.sf.jsqlparser.expression.NullValue
;
import
net.sf.jsqlparser.expression.operators.conditional.OrExpression
;
import
net.sf.jsqlparser.expression.operators.relational.EqualsTo
;
import
net.sf.jsqlparser.expression.operators.relational.EqualsTo
;
import
net.sf.jsqlparser.expression.operators.relational.ExpressionList
;
import
net.sf.jsqlparser.expression.operators.relational.ExpressionList
;
import
net.sf.jsqlparser.expression.operators.relational.InExpression
;
import
net.sf.jsqlparser.expression.operators.relational.InExpression
;
...
@@ -143,8 +143,8 @@ public class DeptDataPermissionRule implements DataPermissionRule {
...
@@ -143,8 +143,8 @@ public class DeptDataPermissionRule implements DataPermissionRule {
if
(
userExpression
==
null
)
{
if
(
userExpression
==
null
)
{
return
deptExpression
;
return
deptExpression
;
}
}
// 目前,如果有指定部门 + 可查看自己,采用 OR 条件。即,WHERE
dept_id IN ? OR user_id = ?
// 目前,如果有指定部门 + 可查看自己,采用 OR 条件。即,WHERE
(dept_id IN ? OR user_id = ?)
return
new
OrExpression
(
deptExpression
,
userExpression
);
return
new
OrExpression
X
(
deptExpression
,
userExpression
);
}
}
private
Expression
buildDeptExpression
(
String
tableName
,
Alias
tableAlias
,
Set
<
Long
>
deptIds
)
{
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
0 → 100644
浏览文件 @
2203d8bd
package
cn
.
iocoder
.
yudao
.
framework
.
expression
;
import
net.sf.jsqlparser.expression.Expression
;
import
net.sf.jsqlparser.expression.operators.conditional.AndExpression
;
/**
* AndExpression 的扩展类(会在原有表达式两端加上括号)
*/
public
class
AndExpressionX
extends
AndExpression
{
public
AndExpressionX
()
{
}
public
AndExpressionX
(
Expression
leftExpression
,
Expression
rightExpression
)
{
this
.
setLeftExpression
(
leftExpression
);
this
.
setRightExpression
(
rightExpression
);
}
@Override
public
String
toString
()
{
return
"("
+
super
.
toString
()
+
")"
;
}
}
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/expression/OrExpressionX.java
0 → 100644
浏览文件 @
2203d8bd
package
cn
.
iocoder
.
yudao
.
framework
.
expression
;
import
net.sf.jsqlparser.expression.Expression
;
import
net.sf.jsqlparser.expression.operators.conditional.OrExpression
;
/**
* OrExpression 的扩展类(会在原有表达式两端加上括号)
*/
public
class
OrExpressionX
extends
OrExpression
{
public
OrExpressionX
()
{
}
public
OrExpressionX
(
Expression
leftExpression
,
Expression
rightExpression
)
{
this
.
setLeftExpression
(
leftExpression
);
this
.
setRightExpression
(
rightExpression
);
}
@Override
public
String
toString
()
{
return
"("
+
super
.
toString
()
+
")"
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论