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 +++++++++++++++++++++-
 1 files changed, 21 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)) {

--
Gitblit v1.9.3