go-common/app/interface/main/web/http/newlist.go

57 lines
1.3 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package http
import (
"strconv"
"go-common/app/interface/main/web/conf"
"go-common/app/service/main/archive/api"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func newList(c *bm.Context) {
var (
rid, pn, ps, tp, count int
rs []*api.Arc
err error
)
params := c.Request.Form
ridStr := params.Get("rid")
pnStr := params.Get("pn")
psStr := params.Get("ps")
tpStr := params.Get("type")
if ridStr != "" {
if rid, err = strconv.Atoi(ridStr); err != nil || rid < 0 {
c.JSON(nil, ecode.RequestErr)
return
}
}
if pn, err = strconv.Atoi(pnStr); err != nil || pn < 1 {
pn = 1
}
if ps, err = strconv.Atoi(psStr); err != nil || ps < 1 || ps > conf.Conf.Rule.MaxArcsPageSize {
ps = conf.Conf.Rule.MaxArcsPageSize
}
if tpStr != "" {
if tp, err = strconv.Atoi(tpStr); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
}
if rs, count, err = webSvc.NewList(c, int32(rid), int8(tp), pn, ps); err != nil {
c.JSON(nil, err)
log.Error("webSvc.Newlist(%d,%d,%d) error(%v)", rid, pn, ps, err)
return
}
data := make(map[string]interface{}, 2)
page := map[string]int{
"num": pn,
"size": ps,
"count": count,
}
data["page"] = page
data["archives"] = rs
c.JSON(data, nil)
}