1 package cn.com.qmhd.oto.common;
2
3
4 import java.io.Serializable;
5 import java.util.List;
6
7 import org.springframework.data.domain.PageImpl;
8
9 /**
10 * 转换为json时需要的bean
11 * @version 1.0
12 * @时间 2016年9月14日
13 * @描述
14 */
15 public class Page<T> implements Serializable {
16
17 private static final long serialVersionUID = -3640039664184539350L;
18 //当前页
19 private long page;
20 //前一页
21 private long prePage;
22 //后一页
23 private long nextPage;
24 //每页大小
25 private long pageSize;
26 //总条数
27 private long totalCount;
28 //总页数
29 private long pageCount;
30 //当前页数据
31 private List<T> rows;
32 /**
33 * @return the page
34 */
35 public long getPage() {
36 return page;
37 }
38 /**
39 * @param page the page to set
40 */
41 public void setPage(long page) {
42 this.page = page;
43 }
44 /**
45 * @return the prePage
46 */
47 public long getPrePage() {
48 return prePage;
49 }
50 /**
51 * @param prePage the prePage to set
52 */
53 public void setPrePage(long prePage) {
54 this.prePage = prePage;
55 }
56 /**
57 * @return the nextPage
58 */
59 public long getNextPage() {
60 if(nextPage<=0){
61 return 1;
62 }else{
63 return nextPage>pageCount?pageCount:nextPage;
64 }
65 }
66 /**
67 * @param nextPage the nextPage to set
68 */
69 public void setNextPage(long nextPage) {
70 this.nextPage = nextPage;
71 }
72 /**
73 * @return the pageSize
74 */
75 public long getPageSize() {
76 return pageSize;
77 }
78 /**
79 * @param pageSize the pageSize to set
80 */
81 public void setPageSize(long pageSize) {
82 this.pageSize = pageSize<=0?10:pageSize;
83 }
84 /**
85 * @return the totalCount
86 */
87 public long getTotalCount() {
88 return totalCount;
89 }
90 /**
91 * @param totalCount the totalCount to set
92 */
93 public void setTotalCount(long totalCount) {
94 this.totalCount = totalCount;
95 }
96 /**
97 * @return the pageCount
98 */
99 public long getPageCount() {
100 return pageCount;
101 }
102 /**
103 * @param pageCount the pageCount to set
104 */
105 public void setPageCount(long pageCount) {
106 this.pageCount = pageCount;
107 }
108 /**
109 * @return the rows
110 */
111 public List<T> getRows() {
112 return rows;
113 }
114 /**
115 * @param rows the rows to set
116 */
117 public void setRows(List<T> rows) {
118 this.rows = rows;
119 }
120 public void resetNextPage(){
121 nextPage=page+1;
122 this.prePage = page -1>0?page-1:1;
123 pageCount=totalCount%pageSize==0?totalCount/pageSize:totalCount/pageSize+1;
124 }
125
126 public Page(org.springframework.data.domain.Page<T> pageImpl) {
127 if(pageImpl!=null){
128 this.page = pageImpl.getNumber()+1;
129 this.pageSize = pageImpl.getSize();
130 this.rows = pageImpl.getContent();
131 this.totalCount = pageImpl.getTotalElements();
132 this.pageCount = pageImpl.getTotalPages();
133 resetNextPage();
134 }
135 }
136 public Page() {
137 }
138 }