package com.sandu.ximon.admin.utils;
|
|
import com.sandu.common.domain.CommonPage;
|
import com.sandu.ximon.dao.bo.MonitorBo;
|
import org.apache.poi.ss.formula.functions.T;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @author ZZQ
|
* @date 2022/4/29 10:47
|
*/
|
public class ListPagingUtils {
|
public static CommonPage pages(List list, Integer pageNo, Integer pageSize) {
|
CommonPage commonPage;
|
|
//开始截断位置
|
int fromIndex = (pageNo - 1) * pageSize;
|
//结束截断位置
|
int toIndex = fromIndex + pageSize;
|
//总页数
|
int totalPage = (int) Math.ceil(list.size() * 1.0 / pageSize);
|
//结束截断位置大于list总长度时,结束截断位置等于list最后一位长度
|
if (toIndex > list.size()) {
|
toIndex = list.size();
|
}
|
|
//查询的页数大于总页数,直接返回空数组
|
if (pageNo > totalPage || fromIndex > list.size()) {
|
commonPage = CommonPage.restPage(new ArrayList<>());
|
commonPage.setTotal(Long.valueOf(list.size()));
|
commonPage.setTotalPage(totalPage);
|
commonPage.setPageNum(pageNo);
|
commonPage.setPageSize(pageSize);
|
return commonPage;
|
} else {
|
commonPage = CommonPage.restPage(list.subList(fromIndex, toIndex));
|
commonPage.setTotal(Long.valueOf(list.size()));
|
commonPage.setTotalPage(totalPage);
|
commonPage.setPageNum(pageNo);
|
commonPage.setPageSize(pageSize);
|
return commonPage;
|
}
|
}
|
|
}
|