go-common/app/interface/openplatform/article/http/article.go
2019-04-22 18:49:16 +08:00

107 lines
2.2 KiB
Go

package http
import (
"strconv"
"go-common/app/interface/openplatform/article/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 meta(c *bm.Context) {
var (
err error
aid int64
am *artmdl.Meta
params = c.Request.Form
)
idStr := params.Get("id")
if aid, err = strconv.ParseInt(idStr, 10, 64); err != nil || aid < 1 {
c.JSON(nil, ecode.RequestErr)
return
}
if am, err = artSrv.ArticleMeta(c, aid); err != nil {
c.JSON(nil, err)
return
} else if am == nil {
c.JSON(nil, ecode.NothingFound)
return
}
c.JSON(am, nil)
}
func metas(c *bm.Context) {
var (
err error
aids []int64
ams map[int64]*artmdl.Meta
params = c.Request.Form
mid int64
resIDs []int64
)
idsStr := params.Get("ids")
midStr := params.Get("mid")
mid, _ = strconv.ParseInt(midStr, 10, 64)
if aids, err = xstr.SplitInts(idsStr); err != nil || len(aids) < 1 || len(aids) > conf.Conf.Article.MaxArticleMetas {
c.JSON(nil, ecode.RequestErr)
return
}
if ams, err = artSrv.ArticleMetas(c, aids); err != nil {
c.JSON(nil, err)
return
}
if len(ams) == 0 {
c.JSON(nil, ecode.NothingFound)
return
}
if mid > 0 {
for _, artm := range ams {
resIDs = append(resIDs, artm.ID)
}
likeRes, _ := artSrv.HadLikesByMid(c, mid, resIDs)
for _, art := range ams {
isLike := likeRes[art.ID]
if isLike > 0 {
art.IsLike = true
}
}
}
c.JSON(ams, nil)
}
func addCheatFilter(c *bm.Context) {
var (
err error
aid int64
lv int
params = c.Request.Form
)
idStr := params.Get("id")
if aid, err = strconv.ParseInt(idStr, 10, 64); err != nil || aid < 1 {
c.JSON(nil, ecode.RequestErr)
return
}
lv, err = strconv.Atoi(params.Get("lv"))
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(nil, artSrv.AddCheatFilter(c, aid, lv))
}
func delCheatFilter(c *bm.Context) {
var (
err error
aid int64
params = c.Request.Form
)
idStr := params.Get("id")
if aid, err = strconv.ParseInt(idStr, 10, 64); err != nil || aid < 1 {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(nil, artSrv.DelCheatFilter(c, aid))
}