package com.gzzn.omms.adminapi.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.util.Collection; import java.util.List; import com.github.pagehelper.Page; /** * * @author yinsh * @Description: 分页参数 * @date 2018年1月12日 下午2:34:16 * @param */ @ApiModel(value="PageInfoDto",description="Api返回分页Dto") public class PageInfoDto implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value="当前页",example="1") private int pageNum=1; @ApiModelProperty(value="每页的数量",example="10") private int pageSize=10; @ApiModelProperty(value="总记录数",example="10") private long total; @ApiModelProperty(value="总页数",example="1") private int pages; //结果集 private List list; //是否为第一页 @ApiModelProperty(hidden=true) private boolean isFirstPage = false; //是否为最后一页 @ApiModelProperty(hidden=true) private boolean isLastPage = false; public PageInfoDto() { } /** * 包装Page对象 * * @param list */ @SuppressWarnings({ "rawtypes", "unchecked" }) public PageInfoDto(List list) { if (list instanceof Page) { Page page = (Page) list; this.pageNum = page.getPageNum(); this.pageSize = page.getPageSize(); this.pages = page.getPages(); this.list = page; this.total = page.getTotal(); } else if (list instanceof Collection) { this.pageNum = 1; this.pageSize = list.size(); this.pages = 1; this.list = list; this.total = list.size(); } if (list instanceof Collection) { //判断页面边界 judgePageBoudary(); } } /** * 判定页面边界 */ private void judgePageBoudary() { isFirstPage = pageNum == 1; isLastPage = pageNum == pages; } public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public long getTotal() { return total; } public void setTotal(long total) { this.total = total; } public int getPages() { return pages; } public void setPages(int pages) { this.pages = pages; } public List getList() { return list; } public void setList(List list) { this.list = list; } public boolean isIsFirstPage() { return isFirstPage; } public void setIsFirstPage(boolean isFirstPage) { this.isFirstPage = isFirstPage; } public boolean isIsLastPage() { return isLastPage; } public void setIsLastPage(boolean isLastPage) { this.isLastPage = isLastPage; } @Override public String toString() { final StringBuffer sb = new StringBuffer("PageInfo{"); sb.append("pageNum=").append(pageNum); sb.append(", pageSize=").append(pageSize); sb.append(", total=").append(total); sb.append(", pages=").append(pages); sb.append(", list=").append(list); sb.append(", isFirstPage=").append(isFirstPage); sb.append(", isLastPage=").append(isLastPage); sb.append(", navigatepageNums="); sb.append('}'); return sb.toString(); } }