From 71fba5328a35b449b11088e540932787220f91d8 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 18 六月 2025 17:28:50 +0800
Subject: [PATCH] 1.生产加工变更库存回滚 2.巡检,档案上传完善

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java |   62 +++++++++++++-----------------
 1 files changed, 27 insertions(+), 35 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
index cdf20bb..84e8879 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -1,57 +1,49 @@
 package com.ruoyi.framework.config;
 
 import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import com.ruoyi.common.handler.LocalDateTimeTypeHandler;
+import org.apache.ibatis.type.JdbcType;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
 
-/**
- * Mybatis Plus 閰嶇疆
- *
- * @author ruoyi
- */
-@EnableTransactionManagement(proxyTargetClass = true)
 @Configuration
 public class MybatisPlusConfig {
+
     @Bean
     public MybatisPlusInterceptor mybatisPlusInterceptor() {
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        // 鍒嗛〉鎻掍欢
-        interceptor.addInnerInterceptor(paginationInnerInterceptor());
-        // 涔愯閿佹彃浠�
-        interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
-        // 闃绘柇鎻掍欢
-        interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
+        // 1. 鍒嗛〉鎻掍欢 - 鎸囧畾 PostgreSQL 鏁版嵁搴撶被鍨�
+        PaginationInnerInterceptor pagination = new PaginationInnerInterceptor(DbType.POSTGRE_SQL);
+        pagination.setOptimizeJoin(true); // 浼樺寲 JOIN 鏌ヨ
+        pagination.setMaxLimit(500L); // 璁剧疆鏈�澶у崟椤甸檺鍒�
+        interceptor.addInnerInterceptor(pagination);
+
+        // 2. 涔愯閿佹彃浠�
+        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
+
+        // 3. 闃叉鍏ㄨ〃鏇存柊/鍒犻櫎鎻掍欢
+        interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
+
         return interceptor;
     }
 
-    /**
-     * 鍒嗛〉鎻掍欢锛岃嚜鍔ㄨ瘑鍒暟鎹簱绫诲瀷 https://baomidou.com/guide/interceptor-pagination.html
-     */
-    public PaginationInnerInterceptor paginationInnerInterceptor() {
-        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
-        // 璁剧疆鏁版嵁搴撶被鍨嬩负mysql
-        paginationInnerInterceptor.setDbType(DbType.MYSQL);
-        // 璁剧疆鏈�澶у崟椤甸檺鍒舵暟閲忥紝榛樿 500 鏉★紝-1 涓嶅彈闄愬埗
-        paginationInnerInterceptor.setMaxLimit(-1L);
-        return paginationInnerInterceptor;
-    }
+    // 4. 娣诲姞鍏ㄥ眬绫诲瀷澶勭悊鍣ㄩ厤缃�
+    @Bean
+    public ConfigurationCustomizer configurationCustomizer() {
+        return configuration -> {
+            // 娉ㄥ唽 LocalDateTime 绫诲瀷澶勭悊鍣�
+            configuration.getTypeHandlerRegistry().register(new LocalDateTimeTypeHandler());
 
-    /**
-     * 涔愯閿佹彃浠� https://baomidou.com/guide/interceptor-optimistic-locker.html
-     */
-    public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
-        return new OptimisticLockerInnerInterceptor();
-    }
+            // 璁剧疆绌哄�煎鐞嗙瓥鐣�
+            configuration.setJdbcTypeForNull(JdbcType.NULL);
 
-    /**
-     * 濡傛灉鏄鍏ㄨ〃鐨勫垹闄ゆ垨鏇存柊鎿嶄綔锛屽氨浼氱粓姝㈣鎿嶄綔 https://baomidou.com/guide/interceptor-block-attack.html
-     */
-    public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
-        return new BlockAttackInnerInterceptor();
+            // 鍚敤鑷姩椹煎嘲鍛藉悕瑙勫垯鏄犲皠
+            configuration.setMapUnderscoreToCamelCase(true);
+        };
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3