添加功能
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
package com.ruoyi.cms.util;
|
||||
|
||||
|
||||
import com.ruoyi.cms.domain.dto.PageDTO;
|
||||
import com.ruoyi.cms.domain.vo.PageVO;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* 分页工具类
|
||||
*
|
||||
* @author 马宝龙
|
||||
* @date 2026/6/26
|
||||
*/
|
||||
public class PageUtil {
|
||||
private PageUtil() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回空分页对象
|
||||
*
|
||||
* @param <T> 类型
|
||||
* @return 空分页
|
||||
*/
|
||||
public static <T> PageVO<T> empty() {
|
||||
return PageVO.<T>builder()
|
||||
.list(new ArrayList<>())
|
||||
.total(0L)
|
||||
.totalPage(0)
|
||||
.isFirst(true)
|
||||
.isLast(true)
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化分页
|
||||
*
|
||||
* @param list 内容列表
|
||||
* @param total 总数
|
||||
* @param pageNo 页码
|
||||
* @param pageSize 每页数量
|
||||
* @param <T> 类型
|
||||
* @return 分页
|
||||
*/
|
||||
public static <T> PageVO<T> init(List<T> list, Long total, Integer pageNo, Integer pageSize) {
|
||||
|
||||
total = Optional.ofNullable(total).orElse(0L);
|
||||
pageNo = Optional.ofNullable(pageNo).orElse(PageDTO.PAGE_NO);
|
||||
pageSize = Optional.ofNullable(pageSize).orElse(PageDTO.PAGE_SIZE);
|
||||
|
||||
int totalPage = (int) (total / pageSize);
|
||||
int morePage = (int) (total % pageSize);
|
||||
if (morePage > 0) {
|
||||
totalPage += 1;
|
||||
}
|
||||
|
||||
return PageVO.<T>builder()
|
||||
.list(list)
|
||||
.total(total)
|
||||
.totalPage(totalPage)
|
||||
.isFirst(pageNo.equals(PageDTO.PAGE_NO))
|
||||
.isLast(pageNo.equals(totalPage))
|
||||
.build();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user