package com.ruoyi.order.util;
|
|
import lombok.AllArgsConstructor;
|
import lombok.Data;
|
import lombok.NoArgsConstructor;
|
|
import java.io.Serializable;
|
import java.util.List;
|
|
@Data
|
@AllArgsConstructor
|
@NoArgsConstructor
|
public class Page<T> implements Serializable {
|
|
private List<T> records; //最终查询的结果记录
|
private long total; //共有多少条记录
|
private long size; //一页显示多少条
|
private long current; //取第几页显示
|
private long pages; //总共几页
|
private long startIndex; //从哪里开始截取集合的下标
|
//获取初始化分页对象 这里用long类型是为了与mybatisplus保持一致
|
public Page<String> getPage(long total, long size ,long current){
|
Page<String> page = new Page<>();
|
page.setTotal(total);
|
page.setSize(size);
|
//总页数的计算 如果集合总记录数能被入参size(一页几条)整除,则为对应商,否则多出部分也独立算一页
|
page.setPages(total % size == 0 ? total / size : total / size + 1);
|
//前端约定入参从1开始,但此处入参调用时会减1,此处+1恢复原值供前端展示
|
page.setCurrent(current + 1);
|
//开始索引的设置
|
page.setStartIndex(size * current);
|
return page;
|
}
|
|
}
|