| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package common
- const (
- defaultPageSize = 10
- )
- type PageRequest struct {
- Page int `json:"page"`
- PageSize int `json:"page_size"`
- }
- type PageResponse struct {
- Page int `json:"page"`
- PageSize int `json:"page_size"`
- TotalCount int64 `json:"total_count"`
- }
- type Paginator struct {
- Page int
- PageSize int
- LimitStart int
- }
- // 根据分页请求,获取分页结果
- func (this PageRequest) GetPaginator() Paginator {
- return getPaginator(this.Page, this.PageSize)
- }
- func getPaginator(page int, pageSize int) Paginator {
- paginator := Paginator{}
- if pageSize == 0 {
- paginator.PageSize = defaultPageSize
- } else {
- paginator.PageSize = pageSize
- }
- if page == 0 {
- paginator.Page = 1
- paginator.LimitStart = 0
- } else {
- paginator.Page = page
- paginator.LimitStart = (paginator.Page - 1) * paginator.PageSize
- }
- return paginator
- }
- // 根据分页结果,获取分页响应
- func (this Paginator) GetPageResponse(count int64) PageResponse {
- return PageResponse{
- Page: this.Page,
- PageSize: this.PageSize,
- TotalCount: count,
- }
- }
|