package com.estate.expert.admin.domain.common.response; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.data.domain.Page; import java.util.List; @ApiModel("分页响应") @Data public class PageResp { @ApiModelProperty("总页数") private int totalPages; @ApiModelProperty("总记录数") private long totalElements; @ApiModelProperty("每页大小") private int pageSize; @ApiModelProperty("当前页码, 从0开始") private int number; @ApiModelProperty("数据列表") private List list; public PageResp(Page page, List list) { this.totalPages = page.getTotalPages(); this.totalElements = page.getTotalElements(); this.pageSize = page.getSize(); this.number = page.getNumber(); this.list = list; } public PageResp(Page page) { this.totalPages = page.getTotalPages(); this.totalElements = page.getTotalElements(); this.pageSize = page.getSize(); this.number = page.getNumber(); this.list = page.getContent(); } public PageResp(List list) { this.list = list; this.totalPages = 1; this.totalElements = list.size(); this.pageSize = list.size(); this.number = 0; } // of public static PageResp of(Page page, List list) { return new PageResp<>(page, list); } // of public static PageResp of(Page page) { return new PageResp<>(page); } // of public static PageResp of(List list) { return new PageResp<>(list); } // empty public static PageResp empty() { return new PageResp<>(Page.empty()); } }