添加功能

This commit is contained in:
马宝龙
2026-06-27 01:58:14 +08:00
parent bfc69faa8c
commit c40c32ce8c
9 changed files with 404 additions and 0 deletions

View File

@@ -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();
}
}