From 8abd1df9b82b109846f1323d17d11778dba0c300 Mon Sep 17 00:00:00 2001 From: GUO <1923636941@qq.com> Date: Sun, 26 May 2024 00:52:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?join=E5=81=9A=E6=95=B0=E6=8D=AE=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhgd/mybatis/DataScopeInterceptor.java | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java index f398505a9..511ed8a2f 100644 --- a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java +++ b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java @@ -1,5 +1,6 @@ package com.zhgd.mybatis; +import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.parser.SqlParserHelper; @@ -30,10 +31,7 @@ import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; import java.sql.Connection; import java.sql.SQLException; -import java.util.Arrays; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; +import java.util.*; @Slf4j public class DataScopeInterceptor extends JsqlParserSupport implements InnerInterceptor { @@ -150,6 +148,14 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte } else { processFromItem(fromItem, obj); } + + // 如果还存在关联查询 + List joins = plainSelect.getJoins(); + if (CollUtil.isNotEmpty(joins)) { + for (Join join : joins) { + processJoin(join,obj); + } + } } protected void processFromItem(FromItem fromItem, Object obj) { @@ -160,4 +166,17 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte } } } + + /** + * 处理关联查询 + * + * @param join 关联查询 + * @param obj + */ + protected void processJoin(Join join, Object obj) { + FromItem joinTable = join.getRightItem(); + if (joinTable instanceof SubSelect) { + processSelectBody(((SubSelect) joinTable).getSelectBody(),obj); + } + } } From 8b94230d7832668f366568045e8cdd39edbf815f Mon Sep 17 00:00:00 2001 From: GUO <1923636941@qq.com> Date: Sun, 26 May 2024 00:56:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xmgl/modules/checking/mapper/xml/XzCheckingRouteMapper.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/XzCheckingRouteMapper.xml b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/XzCheckingRouteMapper.xml index e407c13c5..523b26b4e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/XzCheckingRouteMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/XzCheckingRouteMapper.xml @@ -16,7 +16,6 @@ from xz_checking_route as t join enterprise_info ei on find_in_set(ei.id, t.enterprise_id) group by t.id) as t - join xz_checking_route t1 on t1.id = t.id