12345678910111213141516171819202122232425262728293031323334 |
- package service
- import (
- "context"
- "math"
- )
- type Base struct {
- }
- type Page struct {
- Count int64 `json:"total"`
- CurrentPage int `json:"currentPage"`
- TotalPage int `json:"totalPage"`
- Start int `json:"start"`
- End int `json:"end"`
- PageSize int `json:"pageSize"`
- LimitStart int `json:"limitStart"`
- }
- func NewBase(ctx context.Context) *Base {
- return &Base{}
- }
- func (b *Base) InitPages(count int64, page, pageSize int) Page {
- var pages Page
- pages.Count = count
- page = int(math.Max(1, float64(page)))
- pages.CurrentPage = int(math.Min(float64(page), float64(count)))
- pages.TotalPage = int(math.Ceil(float64(count) / float64(pageSize)))
- pages.PageSize = pageSize
- pages.LimitStart = (pages.CurrentPage - 1) * pageSize
- return pages
- }
|