|
@@ -0,0 +1,34 @@
|
|
|
|
|
+package common
|
|
|
|
|
+
|
|
|
|
|
+type PageParams struct {
|
|
|
|
|
+ Page int `json:"page"`
|
|
|
|
|
+ Num int `json:"pageSize"`
|
|
|
|
|
+ Total int `json:"total"`
|
|
|
|
|
+ Last bool `json:"last"`
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+//从0开始的分页
|
|
|
|
|
+func (this *PageParams) GetPageParams() (pageNum int, start int) {
|
|
|
|
|
+ start = this.Page * this.Num
|
|
|
|
|
+ if this.Total <= this.Num {
|
|
|
|
|
+ this.Page = 0
|
|
|
|
|
+ this.Last = true
|
|
|
|
|
+ return this.Total, 0
|
|
|
|
|
+ }
|
|
|
|
|
+ _start := (this.Page + 1) * this.Num
|
|
|
|
|
+
|
|
|
|
|
+ if this.Total-_start < 0 {
|
|
|
|
|
+ this.Last = true
|
|
|
|
|
+ pageCount := this.Total / this.Num
|
|
|
|
|
+ this.Page = pageCount
|
|
|
|
|
+ num := this.Total - pageCount*this.Num
|
|
|
|
|
+ if num == 0 {
|
|
|
|
|
+ pageCount = pageCount - 1
|
|
|
|
|
+ return this.Num, pageCount * this.Num
|
|
|
|
|
+ }
|
|
|
|
|
+ return num, pageCount * this.Num
|
|
|
|
|
+ } else if this.Total-_start == 0 {
|
|
|
|
|
+ this.Last = true
|
|
|
|
|
+ }
|
|
|
|
|
+ return this.Num, start
|
|
|
|
|
+}
|