:art:用户接口处理完毕
This commit is contained in:
47
utils/page.go
Normal file
47
utils/page.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package utils
|
||||
|
||||
import "gorm.io/gorm"
|
||||
|
||||
// Page
|
||||
// @description: 分页组件
|
||||
// @param current
|
||||
// @param size
|
||||
// @return func(db *gorm.DB) *gorm.DB
|
||||
func Page(current, size int) func(db *gorm.DB) *gorm.DB {
|
||||
// 如果页码是-1,就不分页
|
||||
if current == -1 {
|
||||
return func(db *gorm.DB) *gorm.DB {
|
||||
return db
|
||||
}
|
||||
}
|
||||
// 分页
|
||||
return func(db *gorm.DB) *gorm.DB {
|
||||
if current == 0 {
|
||||
current = 1
|
||||
}
|
||||
if size < 1 {
|
||||
size = 10
|
||||
}
|
||||
// 计算偏移量
|
||||
offset := (current - 1) * size
|
||||
// 返回组装结果
|
||||
return db.Offset(offset).Limit(size)
|
||||
}
|
||||
}
|
||||
|
||||
// GenTotalPage
|
||||
// @description: 计算页码数
|
||||
// @param count
|
||||
// @param size
|
||||
// @return int
|
||||
func GenTotalPage(count int64, size int) int {
|
||||
totalPage := 0
|
||||
if count > 0 {
|
||||
upPage := 0
|
||||
if int(count)%size > 0 {
|
||||
upPage = 1
|
||||
}
|
||||
totalPage = (int(count) / size) + upPage
|
||||
}
|
||||
return totalPage
|
||||
}
|
||||
Reference in New Issue
Block a user