From 6801490e3b5b32b97c2ef92df9107900af13a25c Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 02 九月 2021 11:29:50 +0800
Subject: [PATCH] update 分页合理化
---
ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java | 22 +++++++++++++++++++++-
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java | 2 ++
2 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
index 27125ab..67cf72c 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
@@ -37,6 +37,11 @@
public static final String IS_ASC = "isAsc";
/**
+ * 鍒嗛〉鍙傛暟鍚堢悊鍖�
+ */
+ private static final String REASONABLE = "reasonable";
+
+ /**
* 褰撳墠璁板綍璧峰绱㈠紩 榛樿鍊�
*/
public static final int DEFAULT_PAGE_NUM = 1;
@@ -45,6 +50,11 @@
* 姣忛〉鏄剧ず璁板綍鏁� 榛樿鍊� 榛樿鏌ュ叏閮�
*/
public static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
+
+ /**
+ * 鍒嗛〉鍙傛暟鍚堢悊鍖� 榛樿鍊�
+ */
+ private static final Boolean DEFAULT_REASONABLE = Boolean.TRUE;
/**
* 鏋勫缓 plus 鍒嗛〉瀵硅薄
@@ -57,6 +67,11 @@
Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE, DEFAULT_PAGE_SIZE);
String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN);
String isAsc = ServletUtils.getParameter(IS_ASC);
+ Boolean reasonable = ServletUtils.getParameterToBool(REASONABLE, DEFAULT_REASONABLE);
+ //鍒嗛〉鍚堢悊鍖栵紝閽堝涓嶅悎鐞嗙殑椤电爜鑷姩澶勭悊
+ if (reasonable && pageNum <= 0) {
+ pageNum = 1;
+ }
PagePlus<T, K> page = new PagePlus<>(pageNum, pageSize);
if (StringUtils.isNotBlank(orderByColumn)) {
String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
@@ -83,7 +98,12 @@
Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE, DEFAULT_PAGE_SIZE);
String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN, defaultOrderByColumn);
String isAsc = ServletUtils.getParameter(IS_ASC, defaultIsAsc);
- // 鍏煎鍓嶇鎺掑簭绫诲瀷
+ Boolean reasonable = ServletUtils.getParameterToBool(REASONABLE, DEFAULT_REASONABLE);
+ //鍒嗛〉鍚堢悊鍖栵紝閽堝涓嶅悎鐞嗙殑椤电爜鑷姩澶勭悊
+ if (reasonable && pageNum <= 0) {
+ pageNum = 1;
+ }
+ // 鍏煎鍓嶇鎺掑簭绫诲瀷
if ("ascending".equals(isAsc)) {
isAsc = "asc";
} else if ("descending".equals(isAsc)) {
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 1246a29..719fd2b 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
@@ -50,6 +50,8 @@
paginationInnerInterceptor.setDbType(DbType.MYSQL);
// 璁剧疆鏈�澶у崟椤甸檺鍒舵暟閲忥紝榛樿 500 鏉★紝-1 涓嶅彈闄愬埗
paginationInnerInterceptor.setMaxLimit(-1L);
+ // 鍒嗛〉鍚堢悊鍖�
+ paginationInnerInterceptor.setOverflow(true);
return paginationInnerInterceptor;
}
--
Gitblit v1.9.3