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.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.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 }