| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package utils
- import (
- "github.com/xormplus/xorm"
- "fmt"
- "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
- )
- // 分页查询
- func PageSearch(engine *xorm.Engine, controllername string, apiname string, tableName string, paramMap map[string]interface{})(*models.PageResult, error){
- page := paramMap["page"].(int)
- rows := paramMap["rows"].(int)
- stplkey := fmt.Sprintf("%s_%s_select_gen.stpl",controllername, apiname)
- result, err := engine.SqlTemplateClient(stplkey, ¶mMap).Query().List()
- if err != nil{
- fmt.Println(err)
- return nil, err
- }
- stplkey = fmt.Sprintf("%s_%s_count_gen.stpl", tableName)
- cresult, err := engine.SqlTemplateClient(stplkey, ¶mMap).Query().List()
- if err != nil{
- fmt.Println(err)
- return nil, err
- }
- records := cresult[0]["records"].(int64)
- var totalSize int64 = 0
- if records%int64(rows) == 0 {
- totalSize = records / int64(rows)
- }else{
- totalSize = records / int64(rows + 1)
- }
- presult := models.PageResult{}
- presult.PageNum = (page)
- presult.PageSize = (rows)
- presult.Content = result
- presult.TotalSize = totalSize
- return &presult, nil
- }
|