package cn.stylefeng.roses.kernel.db.api.factory;
|
|
import cn.hutool.core.util.ObjectUtil;
|
import cn.stylefeng.roses.kernel.rule.pojo.request.BasePageRequest;
|
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
/**
|
* 分页参数快速获取
|
*
|
* @author fengshuonan
|
* @date 2020/10/17 17:33
|
*/
|
public class PageFactory {
|
|
/**
|
* 每页大小(默认20)
|
*/
|
private static final String PAGE_SIZE_PARAM_NAME = "pageSize";
|
|
/**
|
* 第几页(从1开始)
|
*/
|
private static final String PAGE_NO_PARAM_NAME = "pageNo";
|
|
/**
|
* 默认分页,在使用时PageFactory.defaultPage会自动获取pageSize和pageNo参数
|
*
|
* @author fengshuonan
|
* @date 2020/3/30 16:42
|
*/
|
public static <T> Page<T> defaultPage() {
|
|
int pageSize = 20;
|
int pageNo = 1;
|
|
HttpServletRequest request = HttpServletUtil.getRequest();
|
|
//每页条数
|
String pageSizeString = request.getParameter(PAGE_SIZE_PARAM_NAME);
|
if (ObjectUtil.isNotEmpty(pageSizeString)) {
|
pageSize = Integer.parseInt(pageSizeString);
|
}
|
|
//第几页
|
String pageNoString = request.getParameter(PAGE_NO_PARAM_NAME);
|
if (ObjectUtil.isNotEmpty(pageNoString)) {
|
pageNo = Integer.parseInt(pageNoString);
|
}
|
|
return new Page<>(pageNo, pageSize);
|
}
|
|
/**
|
* 从baseRequest中获取分页参数
|
*
|
* @author fengshuonan
|
* @date 2021/10/19 16:05
|
*/
|
public static <T> Page<T> defaultPage(BaseRequest baseRequest) {
|
int pageSize = 20;
|
int pageNo = 1;
|
|
if (ObjectUtil.isNotEmpty(baseRequest)) {
|
pageNo = baseRequest.getPageNo() == null ? pageNo : baseRequest.getPageNo();
|
pageSize = baseRequest.getPageSize() == null ? pageSize : baseRequest.getPageSize();
|
}
|
return new Page<>(pageNo, pageSize);
|
}
|
|
public static <T> Page<T> defaultPage(BasePageRequest baseRequest) {
|
int pageSize = 20;
|
int pageNo = 1;
|
|
if (ObjectUtil.isNotEmpty(baseRequest)) {
|
pageNo = baseRequest.getPageNo() == null ? pageNo : baseRequest.getPageNo();
|
pageSize = baseRequest.getPageSize() == null ? pageSize : baseRequest.getPageSize();
|
}
|
return new Page<>(pageNo, pageSize);
|
}
|
|
public static <T> Page<T> page(Integer pageNo, Integer pageSize) {
|
return new Page<>(pageNo == null ? 1 : pageNo, pageSize == null ? 20 : pageSize);
|
}
|
|
}
|