110 lines
2.3 KiB
Go
110 lines
2.3 KiB
Go
package http
|
|
|
|
import (
|
|
"strconv"
|
|
|
|
"go-common/app/interface/main/web/conf"
|
|
artmdl "go-common/app/interface/openplatform/article/model"
|
|
"go-common/library/ecode"
|
|
bm "go-common/library/net/http/blademaster"
|
|
"go-common/library/xstr"
|
|
)
|
|
|
|
func articleList(c *bm.Context) {
|
|
var (
|
|
rid, mid int64
|
|
pn, ps, sort int
|
|
aids []int64
|
|
err error
|
|
)
|
|
param := c.Request.Form
|
|
pnStr := param.Get("pn")
|
|
psStr := param.Get("ps")
|
|
ridStr := param.Get("rid")
|
|
aidsStr := param.Get("aids")
|
|
sortStr := param.Get("sort")
|
|
if midInter, ok := c.Get("mid"); ok {
|
|
mid = midInter.(int64)
|
|
}
|
|
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.MaxArtPageSize {
|
|
ps = conf.Conf.Rule.MaxArtPageSize
|
|
}
|
|
if ridStr != "" {
|
|
if rid, err = strconv.ParseInt(ridStr, 10, 64); err != nil || rid < 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
}
|
|
if aidsStr != "" {
|
|
if aids, err = xstr.SplitInts(aidsStr); err != nil {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
}
|
|
if sortStr != "" {
|
|
if sort, err = strconv.Atoi(sortStr); err != nil || sort < 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
sortCheck := false
|
|
for _, v := range artmdl.SortFields {
|
|
if sort == v {
|
|
sortCheck = true
|
|
break
|
|
}
|
|
}
|
|
if !sortCheck && sort != 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
}
|
|
c.JSON(webSvc.ArticleList(c, rid, mid, sort, pn, ps, aids))
|
|
}
|
|
|
|
func articleUpList(c *bm.Context) {
|
|
var mid int64
|
|
if midInter, ok := c.Get("mid"); ok {
|
|
mid = midInter.(int64)
|
|
}
|
|
c.JSON(webSvc.ArticleUpList(c, mid))
|
|
}
|
|
|
|
func categories(c *bm.Context) {
|
|
c.JSON(webSvc.Categories(c))
|
|
}
|
|
|
|
func newCount(c *bm.Context) {
|
|
var (
|
|
count, pubTime int64
|
|
err error
|
|
)
|
|
pubTimeStr := c.Request.Form.Get("pubtime")
|
|
if pubTime, err = strconv.ParseInt(pubTimeStr, 10, 64); err != nil || pubTime < 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
if count, err = webSvc.NewCount(c, pubTime); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
c.JSON(struct {
|
|
NewCount int64 `json:"new_count"`
|
|
}{NewCount: count}, nil)
|
|
}
|
|
|
|
func upMoreArts(c *bm.Context) {
|
|
var (
|
|
aid int64
|
|
err error
|
|
)
|
|
aidStr := c.Request.Form.Get("aid")
|
|
if aid, err = strconv.ParseInt(aidStr, 10, 64); err != nil || aid <= 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
c.JSON(webSvc.UpMoreArts(c, aid))
|
|
}
|