package com.ylx.common.utils;

import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;

import java.util.ArrayList;
import java.util.List;

/**
 * @author jianlong
 * @date 2024-04-10 11:04
 */
@Slf4j
public class ListUtils {
    public static List<?> subList(List<?> list, int pageSize, int pageNum) {
        int count = list.size(); // 总记录数
        // 计算总页数
        int pages = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
        if(pageNum > pages){
            return new ArrayList<>();
        }
        // 起始位置
        int start = pageNum <= 0 ? 0 : (pageNum > pages ? (pages - 1) * pageSize : (pageNum - 1) * pageSize);
        // 终止位置
        int end = pageNum <= 0 ? (pageSize <= count ? pageSize : count) : (pageSize * pageNum <= count ? pageSize * pageNum : count);
        log.info("分页查询，计算总页数:{}起始位置：{}，终止位置：{}",pages, start, end);
        return list.subList(start, end);
    }

}
