package com.highdatas.mdm.pojo; import com.fasterxml.jackson.annotation.JsonInclude; @JsonInclude(JsonInclude.Include.NON_NULL) public class Page { private int pageSize; private long recordCount; private int pageNo; private int pages; private transient Integer beginNo; private transient Integer endNo; public int getBeginNo() { return beginNo; } public void setBeginNo(int beginNo) { this.beginNo = beginNo; } public int getEndNo() { return endNo; } public void setEndNo(int endNo) { this.endNo = endNo; } public int getPages() { return pages; } public void setPages(int pages) { this.pages = pages; } public Page(long recordCount) { this.pageSize = 20; this.pageNo = 1; this.recordCount = recordCount; } public int getBeginRecordNo() { int recordNo = pageSize * (pageNo - 1) + 1; return recordNo; } public int getBeginRecordNo_1() { int recordNo = getBeginRecordNo(); return recordNo - 1; } public long getEndRecordNo() { long recordNo = pageSize * pageNo; return Math.min(recordNo, recordCount); } public long getRecordNo() { long recordNo = pageSize * pageNo; return recordNo; } public long getPreRecordNo() { long recordNo = pageSize * (pageNo - 1); return recordNo; } public int getPageSize() { return pageSize; } public int getPageNo() { return pageNo; } public long getRecordCount() { return recordCount; } public int getPageCount() { return (int)Math.ceil(recordCount * 1.0d / pageSize); } public void setRecordCount(int count) { this.recordCount = count; } public void setPageSize(int value) { if (value <= 0) { return; } pageSize = value; } public void setPageNo(int pageNo) { this.pageNo = pageNo; } public String getLimitSQL() { if (beginNo != null && endNo != null) { return " limit " + beginNo + ", " + (endNo - beginNo); } return " limit " + getBeginRecordNo_1() + ", " + pageSize; } }