From 7a2b8f47fe1d35d184567392b7b10e87634155ae Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 27 May 2024 13:43:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhgd/mybatis/DataScopeInterceptor.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java index f398505a9..02b405ecd 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.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.parser.SqlParserHelper; @@ -69,6 +70,25 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte } } + private static String getCallPosition() { + StringBuilder sb = new StringBuilder(); + StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); + for (StackTraceElement e : stackTrace) { + if (e.getClassName().startsWith("com.zhgd.xmgl")) { + sb.append(e.getClassName()); + sb.append("."); + sb.append(e.getMethodName()); + sb.append("("); + sb.append(StrUtil.subAfter(e.getClassName(), ".", true)); + sb.append(".java:"); + sb.append(e.getLineNumber()); + sb.append(")"); + break; + } + } + return sb.toString(); + } + public void beforePrepare(StatementHandler sh, Connection connection, Integer transactionTimeout) { PluginUtils.MPStatementHandler mpSh = PluginUtils.mpStatementHandler(sh); MappedStatement ms = mpSh.mappedStatement(); @@ -108,7 +128,7 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte Method[] declaredMethods = clazz.getDeclaredMethods(); Optional dsOption = Arrays.stream(declaredMethods).filter(method -> method.getName().equals(methodName)).map(method -> method.getAnnotation(DataScope.class)).filter(Objects::nonNull).findFirst(); annotation = dsOption.orElseGet(() -> clazz.getAnnotation(DataScope.class)); - log.debug("mapper查询方法: {} # {}", clazz.getName(), methodName); + log.debug("查询mapper方法: {} >>> {}#{}", getCallPosition(), clazz.getName(), methodName); if (findIgnoreDataScope(parameter, annotation) && isNotSqlTest()) { return; }