package com.zskj.yixiyun.model.vo;
import com.zskj.yixiyun.model.param.app.PageParam;
import lombok.Data;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
/**
* 分页返回值
*
* @author lcx
*/
@Data
public class PageVO<T> implements Serializable {
private Integer pageNum;
private Integer pageSize;
private Long total;
private List<T> list;
private Integer totalPages;
private boolean hasNext;
private PageVO() {
}
public static <T> PageVO<T> empty() {
return new PageVO<T>(Collections.emptyList(), 0L, new PageParam(1, 10));
}
public PageVO(List<T> list, Long total, PageParam pageParam) {
this.pageNum = pageParam.getPageNum();
this.pageSize = pageParam.getPageSize();
this.total = total;
this.list = list;
this.totalPages = getPages();
this.hasNext = this.pageNum < this.getPages();
}
private Integer getPages() {
if (getPageSize() == 0) {
return 0;
}
int pages = getTotal().intValue() / getPageSize();
if (getTotal() % getPageSize() != 0) {
pages++;
}
return pages;
}
}
Class PageVO<T>【yixiyun】
最新推荐文章于 2023-05-10 10:37:32 发布