package com.chushang.common.mybatis.utils;

import java.util.LinkedList;
import java.util.List;

public class PageClass<T> {
    /**
     * @param page page
     * @param pageSize pageSize
     * @param resultList 排序好的集合
     */
    public List<T> page(Integer page, Integer pageSize, List<T> resultList){
        if (null == page || null == pageSize){
            return resultList;
        }
        // 实际需要返回的结果集
        List<T> resultDateList = new LinkedList<>();
        // 进行 分页 以及
        // 判断是否 大于 分页大小 -- 如果大于 -- 则返回的为 截取分页的数据
        if (resultList.size() > pageSize) {
            int offset = pageSize * (page - 1);
            List<T> list;
            if (resultList.size() <= offset + pageSize) {
                list = resultList.subList(offset, resultList.size());
            } else {
                list = resultList.subList(offset, offset + pageSize);
            }
            resultDateList.addAll(list);
        } else {
            resultDateList.addAll(resultList);
        }
        return resultDateList;
    }
}
