From 1b5604f8a88000e2f51d4c989fd179989468ee67 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期一, 11 八月 2025 09:48:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/pim_yys' into pim_ywx

---
 src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java |   42 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
index 90ad0f5..1df5374 100644
--- a/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
+++ b/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -1,15 +1,24 @@
 package com.ruoyi.framework.config;
 
 import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ParameterUtils;
 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.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
 import com.ruoyi.common.handler.CustomTenantLineHandler;
+import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import java.sql.SQLException;
 
 /**
  * Mybatis Plus 閰嶇疆
@@ -39,14 +48,31 @@
     /**
      * 鍒嗛〉鎻掍欢锛岃嚜鍔ㄨ瘑鍒暟鎹簱绫诲瀷 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;
+//    public PaginationInnerInterceptor paginationInnerInterceptor()
+//    {
+//        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
+//        // 璁剧疆鏁版嵁搴撶被鍨嬩负mysql
+//        paginationInnerInterceptor.setDbType(DbType.MYSQL);
+//        // 璁剧疆鏈�澶у崟椤甸檺鍒舵暟閲忥紝榛樿 500 鏉★紝-1 涓嶅彈闄愬埗
+//        paginationInnerInterceptor.setMaxLimit(-1L);
+//        return paginationInnerInterceptor;
+//    }
+
+    public PaginationInnerInterceptor paginationInnerInterceptor() {
+        PaginationInnerInterceptor interceptor = new PaginationInnerInterceptor(DbType.MYSQL) {
+            @Override
+            public void beforeQuery(Executor executor, MappedStatement ms, Object parameter,
+                                    RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException {
+                IPage<?> page = ParameterUtils.findPage(parameter).orElse(null);
+                if (page != null && page.getSize() <= 0) {
+                    // 褰搒ize<=0鏃讹紝涓嶈繘琛屽垎椤�
+                    return;
+                }
+                super.beforeQuery(executor, ms, parameter, rowBounds, resultHandler, boundSql);
+            }
+        };
+        interceptor.setMaxLimit(1000L); // 寤鸿璁剧疆鍚堢悊鐨勬渶澶у��
+        return interceptor;
     }
 
     /**

--
Gitblit v1.9.3