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; } } }