From 984dd5009b89d11339908fb9a2c23e00afcfebb4 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Tue, 28 May 2024 15:12: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 | 49 ++++++++++++++++--- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java index a37973704..c74991c1b 100644 --- a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java +++ b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.parser.JsqlParserSupport; import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; import com.zhgd.annotation.DataScope; import com.zhgd.xmgl.security.util.SecurityUtils; +import com.zhgd.xmgl.util.EnvironmentUtil; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import net.sf.jsqlparser.schema.Table; @@ -64,6 +65,25 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte } } + private static String getCallPositionForDev() { + 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(")"); + sb.append("\r\n"); + } + } + return sb.toString(); + } + private static String getCallPosition() { StringBuilder sb = new StringBuilder(); StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); @@ -90,14 +110,27 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte try { Class clazz = Class.forName(ms.getId().substring(0, ms.getId().lastIndexOf(StringPool.DOT))); String methodName = ms.getId().substring(ms.getId().lastIndexOf(".") + 1); - if (sct == SqlCommandType.SELECT) { - log.debug("查询mapper方法: {} >>> {}#{}", getCallPosition(), clazz.getName(), methodName); - } else if (sct == SqlCommandType.UPDATE) { - log.debug("更新mapper方法: {} >>> {}#{}", getCallPosition(), clazz.getName(), methodName); - } else if (sct == SqlCommandType.INSERT) { - log.debug("插入mapper方法: {} >>> {}#{}", getCallPosition(), clazz.getName(), methodName); - } else if (sct == SqlCommandType.DELETE) { - log.debug("删除mapper方法: {} >>> {}#{}", getCallPosition(), clazz.getName(), methodName); + if (EnvironmentUtil.getActiveEnvironment().equals("gsx-other-env-show-dev")) { + //开发环境 + if (sct == SqlCommandType.SELECT) { + log.debug("查询mapper方法: {} >>> {}#{}", getCallPositionForDev(), clazz.getName(), methodName); + } else if (sct == SqlCommandType.UPDATE) { + log.debug("更新mapper方法: {} >>> {}#{}", getCallPositionForDev(), clazz.getName(), methodName); + } else if (sct == SqlCommandType.INSERT) { + log.debug("插入mapper方法: {} >>> {}#{}", getCallPositionForDev(), clazz.getName(), methodName); + } else if (sct == SqlCommandType.DELETE) { + log.debug("删除mapper方法: {} >>> {}#{}", getCallPositionForDev(), clazz.getName(), methodName); + } + } else { + if (sct == SqlCommandType.SELECT) { + log.debug("查询mapper方法: {} >>> {}#{}", getCallPosition(), clazz.getName(), methodName); + } else if (sct == SqlCommandType.UPDATE) { + log.debug("更新mapper方法: {} >>> {}#{}", getCallPosition(), clazz.getName(), methodName); + } else if (sct == SqlCommandType.INSERT) { + log.debug("插入mapper方法: {} >>> {}#{}", getCallPosition(), clazz.getName(), methodName); + } else if (sct == SqlCommandType.DELETE) { + log.debug("删除mapper方法: {} >>> {}#{}", getCallPosition(), clazz.getName(), methodName); + } } } catch (Exception e) { log.error(e.getMessage(), e);