package com.engine.salary.util.page; import com.github.pagehelper.PageHelper; import org.apache.commons.collections4.CollectionUtils; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class SalaryPageUtil { public static void start(Integer pageNum, Integer pageSize) { pageNum = pageNum == null || pageNum <= 0 ? 1 : pageNum; pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize; PageHelper.startPage(pageNum, pageSize); } public static PageInfo buildPage(Integer pageNo, Integer pageSize) { pageNo = pageNo == null || pageNo <= 0 ? 1 : pageNo; pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize; PageInfo pageInfo = new PageInfo<>(); pageInfo.setPageNum(pageNo); pageInfo.setPageSize(pageSize); pageInfo.setList(new ArrayList<>()); return pageInfo; } public static PageInfo buildPage(Integer pageNo, Integer pageSize, Class clazz) { pageNo = pageNo == null || pageNo <= 0 ? 1 : pageNo; pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize; PageInfo pageInfo = new PageInfo<>(clazz); pageInfo.setPageNum(pageNo); pageInfo.setPageSize(pageSize); pageInfo.setList(new ArrayList<>()); return pageInfo; } public static PageInfo buildPage(Integer pageNo, Integer pageSize, List totalCollection) { PageInfo pageInfo = new PageInfo<>(); pageInfo.setTotal(totalCollection.size()); totalCollection = subList(pageNo, pageSize, totalCollection); pageInfo.setPageNum(pageNo); pageInfo.setPageSize(pageSize); pageInfo.setList(totalCollection); return pageInfo; } /** * 内存分页 * * @param pageNo * @param pageSize * @param source * @param clazz * @param * @return */ public static PageInfo buildPage(Integer pageNo, Integer pageSize, List source, Class clazz) { pageNo = pageNo == null || pageNo <= 0 ? 1 : pageNo; pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize; PageInfo pageInfo = new PageInfo<>(clazz); pageInfo.setPageNum(pageNo); pageInfo.setPageSize(pageSize); pageInfo.setTotal(source == null ? 0 : source.size()); pageInfo.setList(subList(pageNo, pageSize, source)); return pageInfo; } /** * 分页 * * @param pageNo 页码(从1开始) * @param pageSize 每页条数 * @param source 待分页的数据 * @param 范型制定类 * @return */ public static List subList(Integer pageNo, Integer pageSize, List source) { if (CollectionUtils.isEmpty(source)) { return Collections.emptyList(); } pageNo = pageNo == null || pageNo <= 0 ? 1 : pageNo; pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize; int endIndex = pageNo * pageSize; int startIndex = (pageNo - 1) * pageSize; startIndex = startIndex < 0 ? 0 : startIndex; return source.subList(startIndex > source.size() ? source.size() : startIndex, endIndex > source.size() ? source.size() : endIndex); } public static String selfAdaption(String chars, Integer width) { if (width != null && width != 0){ return width + ""; } int adaption = 0; if (chars != null) { adaption = chars.length() * 12 + 55; } if (adaption < 79) { adaption = 79; } return adaption + ""; } }