83 lines
1.8 KiB
Java
83 lines
1.8 KiB
Java
package com.example.model;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 分页响应类
|
|
*/
|
|
public class PageResponse<T> {
|
|
private int page;
|
|
private int size;
|
|
private long total;
|
|
private List<T> data;
|
|
|
|
public PageResponse() {
|
|
this.data = new ArrayList<>();
|
|
}
|
|
|
|
public PageResponse(int page, int size, long total, List<T> data) {
|
|
this.page = page;
|
|
this.size = size;
|
|
this.total = total;
|
|
this.data = data != null ? data : new ArrayList<>();
|
|
}
|
|
|
|
public static <T> PageResponse<T> of(PageRequest request, long total, List<T> data) {
|
|
return new PageResponse<>(request.getPage(), request.getSize(), total, data);
|
|
}
|
|
|
|
public int getPage() {
|
|
return page;
|
|
}
|
|
|
|
public void setPage(int page) {
|
|
this.page = page;
|
|
}
|
|
|
|
public int getSize() {
|
|
return size;
|
|
}
|
|
|
|
public void setSize(int size) {
|
|
this.size = size;
|
|
}
|
|
|
|
public long getTotal() {
|
|
return total;
|
|
}
|
|
|
|
public void setTotal(long total) {
|
|
this.total = total;
|
|
}
|
|
|
|
public List<T> getData() {
|
|
return data;
|
|
}
|
|
|
|
public void setData(List<T> data) {
|
|
this.data = data != null ? data : new ArrayList<>();
|
|
}
|
|
|
|
public int getTotalPages() {
|
|
return size == 0 ? 0 : (int) Math.ceil((double) total / (double) size);
|
|
}
|
|
|
|
public boolean isHasNext() {
|
|
return page < getTotalPages();
|
|
}
|
|
|
|
public boolean isHasPrevious() {
|
|
return page > 1;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "PageResponse{" +
|
|
"page=" + page +
|
|
", size=" + size +
|
|
", total=" + total +
|
|
", data=" + data +
|
|
'}';
|
|
}
|
|
} |