package com.rongyichuang.common.dto; import java.util.List; /** * 分页响应DTO */ public class PageResponse { private List content; private Integer page; private Integer size; private Long total; private Integer totalPages; public PageResponse() {} public PageResponse(List content, Long total, Integer page, Integer size) { this.content = content; this.page = page; this.size = size; this.total = total; this.totalPages = (int) Math.ceil((double) total / size); } // 静态工厂方法 public static PageResponse of(List content, Long total, PageRequest pageRequest) { return new PageResponse<>(content, total, pageRequest.getPage(), pageRequest.getSize()); } // 添加便于GraphQL使用的方法 public Long getTotalElements() { return total; } public Integer getNumber() { return page; } public Boolean getFirst() { return page == 0; } public Boolean getLast() { return page >= totalPages - 1; } // Getters and Setters public List getContent() { return content; } public void setContent(List content) { this.content = content; } public Integer getPage() { return page; } public void setPage(Integer page) { this.page = page; } public Integer getSize() { return size; } public void setSize(Integer size) { this.size = size; } public Long getTotal() { return total; } public void setTotal(Long total) { this.total = total; } public Integer getTotalPages() { return totalPages; } public void setTotalPages(Integer totalPages) { this.totalPages = totalPages; } }