dcsunny 4 жил өмнө
parent
commit
c75b7183d5
1 өөрчлөгдсөн 34 нэмэгдсэн , 0 устгасан
  1. 34 0
      common/page.go

+ 34 - 0
common/page.go

@@ -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
+}