From 35e47a4e563068b1cdc361a235389350f70baba9 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 29 Jul 2024 17:30:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=BD=E7=95=A5=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 --- .../java/com/zhgd/mybatis/DataScopeInterceptor.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java index e6366fd56..c53acdd32 100644 --- a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java +++ b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java @@ -48,19 +48,28 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte if (parameter instanceof Map) { Map map = (Map) parameter; for (Object k : map.keySet()) { + Object val = map.get(k); if (k instanceof String) { if (k.equals(Cts.IGNORE_DATA_SCOPE)) { - //查询只有一个参数map的时候key等于IGNORE_DATA_SCOPE + //查询只有一个参数map的时候key等于IGNORE_DATA_SCOPE,不使用@Param时候 return true; } } - Object val = map.get(k); if (val instanceof QueryWrapper) { String sqlSegment = ((QueryWrapper) val).getSqlSegment(); if (StrUtil.isNotBlank(sqlSegment) && sqlSegment.contains(Cts.IGNORE_DATA_SCOPE_CONDITION)) { //调用mybatisplus的mapper方法使用last方法添加参数IGNORE_DATA_SCOPE_CONDITION return true; } + } else if (val instanceof Map) { + Map innerMap = (Map) val; + for (Object entry : innerMap.entrySet()) { + Map.Entry et = (Map.Entry) entry; + if (et.getKey().equals(Cts.IGNORE_DATA_SCOPE)) { + //查询只有一个参数map的时候key等于IGNORE_DATA_SCOPE,使用@Param时候 + return true; + } + } } } }