From 7eedf37149b89e6200c5e30abb8dc2575eb6e3d5 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 02 十二月 2021 18:47:18 +0800
Subject: [PATCH] update 优化 pr !118 代码结构
---
ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java | 93 ++++++++++++++++++++++++++++++++++++----------
1 files changed, 72 insertions(+), 21 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 e484f6d..abc42dd 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
@@ -1,6 +1,6 @@
package com.ruoyi.common.utils;
-import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -37,38 +37,82 @@
*/
public static final String IS_ASC = "isAsc";
+ /**
+ * 褰撳墠璁板綍璧峰绱㈠紩 榛樿鍊�
+ */
+ public static final int DEFAULT_PAGE_NUM = 1;
+
+ /**
+ * 姣忛〉鏄剧ず璁板綍鏁� 榛樿鍊� 榛樿鏌ュ叏閮�
+ */
+ public static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
+
+ /**
+ * 鏋勫缓 plus 鍒嗛〉瀵硅薄
+ *
+ * @param <T> domain 瀹炰綋
+ * @param <K> vo 瀹炰綋
+ * @return 鍒嗛〉瀵硅薄
+ */
public static <T, K> PagePlus<T, K> buildPagePlus() {
- Integer pageNum = ServletUtils.getParameterToInt(PAGE_NUM);
- Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE);
+ Integer pageNum = ServletUtils.getParameterToInt(PAGE_NUM, DEFAULT_PAGE_NUM);
+ Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE, DEFAULT_PAGE_SIZE);
String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN);
String isAsc = ServletUtils.getParameter(IS_ASC);
+ if (pageNum <= 0) {
+ pageNum = DEFAULT_PAGE_NUM;
+ }
PagePlus<T, K> page = new PagePlus<>(pageNum, pageSize);
- if (StrUtil.isNotBlank(orderByColumn)) {
- String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
- if ("asc".equals(isAsc)) {
- page.addOrder(OrderItem.asc(orderBy));
- } else if ("desc".equals(isAsc)) {
- page.addOrder(OrderItem.desc(orderBy));
- }
+ OrderItem orderItem = buildOrderItem(orderByColumn, isAsc);
+ if (ObjectUtil.isNotNull(orderItem)) {
+ page.addOrder(orderItem);
}
return page;
}
public static <T> Page<T> buildPage() {
- Integer pageNum = ServletUtils.getParameterToInt(PAGE_NUM);
- Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE);
- String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN);
- String isAsc = ServletUtils.getParameter(IS_ASC);
+ return buildPage(null, null);
+ }
+
+ /**
+ * 鏋勫缓 MP 鏅�氬垎椤靛璞�
+ *
+ * @param <T> domain 瀹炰綋
+ * @return 鍒嗛〉瀵硅薄
+ */
+ public static <T> Page<T> buildPage(String defaultOrderByColumn, String defaultIsAsc) {
+ Integer pageNum = ServletUtils.getParameterToInt(PAGE_NUM, DEFAULT_PAGE_NUM);
+ Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE, DEFAULT_PAGE_SIZE);
+ String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN, defaultOrderByColumn);
+ String isAsc = ServletUtils.getParameter(IS_ASC, defaultIsAsc);
+ if (pageNum <= 0) {
+ pageNum = DEFAULT_PAGE_NUM;
+ }
Page<T> page = new Page<>(pageNum, pageSize);
- if (StrUtil.isNotBlank(orderByColumn)) {
- String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
- if ("asc".equals(isAsc)) {
- page.addOrder(OrderItem.asc(orderBy));
- } else if ("desc".equals(isAsc)) {
- page.addOrder(OrderItem.desc(orderBy));
- }
+ OrderItem orderItem = buildOrderItem(orderByColumn, isAsc);
+ if (ObjectUtil.isNotNull(orderItem)) {
+ page.addOrder(orderItem);
}
return page;
+ }
+
+ private static OrderItem buildOrderItem(String orderByColumn, String isAsc) {
+ // 鍏煎鍓嶇鎺掑簭绫诲瀷
+ if ("ascending".equals(isAsc)) {
+ isAsc = "asc";
+ } else if ("descending".equals(isAsc)) {
+ isAsc = "desc";
+ }
+ if (StringUtils.isNotBlank(orderByColumn)) {
+ String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
+ orderBy = StringUtils.toUnderScoreCase(orderBy);
+ if ("asc".equals(isAsc)) {
+ return OrderItem.asc(orderBy);
+ } else if ("desc".equals(isAsc)) {
+ return OrderItem.desc(orderBy);
+ }
+ }
+ return null;
}
public static <T, K> TableDataInfo<K> buildDataInfo(PagePlus<T, K> page) {
@@ -98,4 +142,11 @@
return rspData;
}
+ public static <T> TableDataInfo<T> buildDataInfo() {
+ TableDataInfo<T> rspData = new TableDataInfo<>();
+ rspData.setCode(HttpStatus.HTTP_OK);
+ rspData.setMsg("鏌ヨ鎴愬姛");
+ return rspData;
+ }
+
}
--
Gitblit v1.9.3