瀏覽代碼

生成pdf优化

24282 2 年之前
父節點
當前提交
625f732133

+ 16 - 4
bladex-tool/blade-starter-mybatis/src/main/java/org/springblade/core/mp/config/MybatisPlusConfiguration.java

@@ -20,7 +20,6 @@ import com.baomidou.mybatisplus.core.injector.ISqlInjector;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
 import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
-import lombok.AllArgsConstructor;
 import net.sf.jsqlparser.expression.Expression;
 import net.sf.jsqlparser.expression.StringValue;
 import org.mybatis.spring.annotation.MapperScan;
@@ -35,15 +34,20 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.ObjectProvider;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.annotation.AnnotationAwareOrderComparator;
+import org.springframework.core.env.Environment;
 import org.springframework.web.method.support.HandlerMethodArgumentResolver;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -52,11 +56,12 @@ import java.util.List;
  * @author Chill
  */
 @Configuration(proxyBeanMethods = false)
-@AllArgsConstructor
 @MapperScan(basePackages = {"org.springblade.**.mapper.**", "com.fjhx.**.mapper.**"})
 @EnableConfigurationProperties(MybatisPlusProperties.class)
 @BladePropertySource(value = "classpath:/blade-mybatis.yml")
-public class MybatisPlusConfiguration implements WebMvcConfigurer {
+public class MybatisPlusConfiguration implements WebMvcConfigurer, ApplicationContextAware {
+
+    private ApplicationContext applicationContext;
 
     /**
      * 租户拦截器
@@ -110,7 +115,10 @@ public class MybatisPlusConfiguration implements WebMvcConfigurer {
      */
     @Bean
     public SqlLogInterceptor sqlLogInterceptor(MybatisPlusProperties mybatisPlusProperties) {
-        return new SqlLogInterceptor(mybatisPlusProperties);
+        Environment environment = this.applicationContext.getEnvironment();
+        String[] activeProfiles = environment.getActiveProfiles();
+        List<String> activeProfileList = Arrays.asList(activeProfiles);
+        return new SqlLogInterceptor(mybatisPlusProperties, activeProfileList.contains("dev"));
     }
 
     /**
@@ -130,5 +138,9 @@ public class MybatisPlusConfiguration implements WebMvcConfigurer {
         argumentResolvers.add(new PageArgumentResolver());
     }
 
+    @Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+        this.applicationContext = applicationContext;
+    }
 }
 

+ 9 - 1
bladex-tool/blade-starter-mybatis/src/main/java/org/springblade/core/mp/plugins/SqlLogInterceptor.java

@@ -40,14 +40,18 @@ import java.util.List;
  */
 @Slf4j
 public class SqlLogInterceptor extends FilterEventAdapter {
+
 	private static final SQLUtils.FormatOption FORMAT_OPTION = new SQLUtils.FormatOption(false, false);
 
 	private static final List<String> SQL_LOG_EXCLUDE = new ArrayList<>(Arrays.asList("ACT_RU_JOB", "ACT_RU_TIMER_JOB"));
 
 	private final MybatisPlusProperties properties;
 
-	public SqlLogInterceptor(MybatisPlusProperties properties) {
+	private final boolean enableLog;
+
+	public SqlLogInterceptor(MybatisPlusProperties properties, boolean enableLog) {
 		this.properties = properties;
+		this.enableLog = enableLog;
 		if (properties.getSqlLogExclude().size() > 0) {
 			SQL_LOG_EXCLUDE.addAll(properties.getSqlLogExclude());
 		}
@@ -96,6 +100,10 @@ public class SqlLogInterceptor extends FilterEventAdapter {
 	@Override
 	@SneakyThrows
 	public void statement_close(FilterChain chain, StatementProxy statement) {
+		if (!enableLog) {
+			return;
+		}
+
 		// 是否开启日志
 		if (!properties.getSqlLog()) {
 			chain.statement_close(statement);