package com.example.model; import java.util.ArrayList; import java.util.List; /** * 分页响应类 */ public class PageResponse { private int page; private int size; private long total; private List data; public PageResponse() { this.data = new ArrayList<>(); } public PageResponse(int page, int size, long total, List data) { this.page = page; this.size = size; this.total = total; this.data = data != null ? data : new ArrayList<>(); } public static PageResponse of(PageRequest request, long total, List 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 getData() { return data; } public void setData(List 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 + '}'; } }