package com.xhpc.common.util;

/**
 * 用于进行分页的工具类
 *
 * @author WH
 * @date 2022/1/15 15:25
 * @since version-1.0
 */
public class MyPagingUtil {

    /**
     * 用于计算MySQL数据库中的limit子句的startIndex值
     *
     * @param currentPage 当前要显示的记录的页数
     * @param items       当前页要显示多少条记录
     * @return 返回MySQL数据库中的limit子句的startIndex值
     * @throws IllegalArgumentException 传入的参数不符合要求，发生此异常
     * @author WH
     * @date 2022/1/15 15:27
     * @since version-1.0
     */
    public static int calculateStartIndex(int currentPage, int items) throws IllegalArgumentException {

        if ((currentPage - 1) < 0) {
            throw new IllegalArgumentException("当前页数最小为1");
        }
        if (items < 1) {
            throw new IllegalArgumentException("当前页要显示的记录数最小为1");
        }
        return (currentPage - 1) * items;
    }

}
