|
|
@@ -1,8 +1,13 @@
|
|
|
package cn.reghao.devops.manager.util.db;
|
|
|
|
|
|
-import cn.reghao.devops.manager.util.HttpUtil;
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.data.domain.Sort;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
+import org.springframework.web.context.request.RequestContextHolder;
|
|
|
+import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
/**
|
|
|
* Hibernate 分页
|
|
|
@@ -28,20 +33,37 @@ public class PageSort {
|
|
|
* @date 2021-06-02 下午1:25
|
|
|
*/
|
|
|
public static PageRequest pageRequest(int pageSize, String orderBy, Sort.Direction sortDirection) {
|
|
|
- int index = Integer.parseInt(HttpUtil.getParameter("page", String.valueOf(1)));
|
|
|
- int size = Integer.parseInt(HttpUtil.getParameter("size", String.valueOf(pageSize)));
|
|
|
- String order = HttpUtil.getParameter("orderBy", orderBy);
|
|
|
- String direction = HttpUtil.getParameter("direction", sortDirection.toString());
|
|
|
+ int index = Integer.parseInt(getParameter("page", String.valueOf(1)));
|
|
|
+ int size = Integer.parseInt(getParameter("size", String.valueOf(pageSize)));
|
|
|
+ String order = getParameter("orderBy", orderBy);
|
|
|
+ String direction = getParameter("direction", sortDirection.toString());
|
|
|
Sort sort = Sort.by(sortDirection, order);
|
|
|
return PageRequest.of(index-1, size, sort);
|
|
|
}
|
|
|
|
|
|
public static PageRequest pageRequest(String orderBy, Sort.Direction sortDirection) {
|
|
|
- int index = Integer.parseInt(HttpUtil.getParameter("page", String.valueOf(1)));
|
|
|
- int size = Integer.parseInt(HttpUtil.getParameter("size", String.valueOf(DEFAULT_PAGE_SIZE)));
|
|
|
- String order = HttpUtil.getParameter("orderBy", orderBy);
|
|
|
- String direction = HttpUtil.getParameter("direction", sortDirection.toString());
|
|
|
+ int index = Integer.parseInt(getParameter("page", String.valueOf(1)));
|
|
|
+ int size = Integer.parseInt(getParameter("size", String.valueOf(DEFAULT_PAGE_SIZE)));
|
|
|
+ String order = getParameter("orderBy", orderBy);
|
|
|
+ String direction = getParameter("direction", sortDirection.toString());
|
|
|
Sort sort = Sort.by(sortDirection, order);
|
|
|
return PageRequest.of(index-1, size, sort);
|
|
|
}
|
|
|
+
|
|
|
+ private static String getParameter(String param, String defaultValue){
|
|
|
+ String parameter = getRequest().getParameter(param);
|
|
|
+ return StringUtils.isEmpty(parameter) ? defaultValue : parameter;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static HttpServletRequest getRequest(){
|
|
|
+ return getServletRequest().getRequest();
|
|
|
+ }
|
|
|
+
|
|
|
+ private static HttpServletResponse getResponse(){
|
|
|
+ return getServletRequest().getResponse();
|
|
|
+ }
|
|
|
+
|
|
|
+ private static ServletRequestAttributes getServletRequest(){
|
|
|
+ return (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
|
|
+ }
|
|
|
}
|