bilibili-backup/app/service/main/archive/server/http/region.go
2019-04-22 02:59:20 +00:00

76 lines
1.5 KiB
Go

package http
import (
"strconv"
"go-common/app/service/main/archive/api"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
)
// regionArcs.
func regionArcs(c *bm.Context) {
params := c.Request.Form
ridStr := params.Get("rid")
tpStr := params.Get("type")
pnStr := params.Get("pn")
psStr := params.Get("ps")
// check params
rid, err := strconv.ParseInt(ridStr, 10, 64)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
var tp int64
if tpStr != "" {
if tp, err = strconv.ParseInt(tpStr, 10, 64); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
}
pn, err := strconv.Atoi(pnStr)
if err != nil || pn < 1 {
pn = 1
}
ps, err := strconv.Atoi(psStr)
if err != nil || ps < 1 || ps > 100 {
ps = 20
}
// service
var (
as []*api.Arc
count int
)
if tp == 0 {
as, count, err = arcSvc.RegionArcs3(c, int16(rid), pn, ps)
} else {
as, count, err = arcSvc.RegionOriginArcs3(c, int16(rid), pn, ps)
}
if err != nil {
c.JSON(nil, err)
return
}
var res struct {
Archives []*api.Arc `json:"archives"`
Page struct {
Count int `json:"count"`
Num int `json:"num"`
Size int `json:"size"`
} `json:"page"`
}
res.Archives = as
res.Page.Num = pn
res.Page.Size = ps
res.Page.Count = count
c.JSON(res, nil)
}
// addRegionArc.
func addRegionArc(c *bm.Context) {
params := c.Request.Form
ridStr := params.Get("rid")
// check params
rid, _ := strconv.ParseInt(ridStr, 10, 64)
c.JSON(nil, arcSvc.AddRegionArcs(c, int16(rid)))
}