go-common/app/interface/main/web-feed/http/feed.go
2019-04-22 18:49:16 +08:00

107 lines
2.3 KiB
Go

package http
import (
"strconv"
"time"
"go-common/app/interface/main/web-feed/conf"
"go-common/app/interface/main/web-feed/model"
artmdl "go-common/app/interface/openplatform/article/model"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func feed(c *bm.Context) {
var (
params = c.Request.Form
pn, ps int
mid int64
feeds []*model.Feed
err error
)
pnStr := params.Get("pn")
if pn, err = strconv.Atoi(pnStr); err != nil || pn < 1 {
pn = 1
}
psStr := params.Get("ps")
if ps, err = strconv.Atoi(psStr); err != nil || ps < 1 {
ps = conf.Conf.Feed.DefaultSize
} else if ps > conf.Conf.Feed.MaxSize {
ps = conf.Conf.Feed.MaxSize
}
if midInter, ok := c.Get("mid"); ok {
mid = midInter.(int64)
}
if feeds, err = feedSrv.Feed(c, mid, pn, ps); err != nil {
log.Error("feedSrv.Feed(%d,%d,%d) error(%v)", mid, pn, ps, err)
c.JSON(nil, err)
return
}
c.JSON(feeds, err)
}
func feedUnread(c *bm.Context) {
var (
mid int64
)
if midInter, ok := c.Get("mid"); ok {
mid = midInter.(int64)
}
count, err := feedSrv.UnreadCount(c, mid)
if err != nil {
log.Error("feedSrv.UnreadCount(%d,%v) error(%v)", mid, time.Now(), err)
c.JSON(nil, err)
return
}
c.JSON(struct {
Count int `json:"count"`
}{Count: count}, nil)
}
func articleFeedUnread(c *bm.Context) {
var (
mid int64
)
if midInter, ok := c.Get("mid"); ok {
mid = midInter.(int64)
}
count, err := feedSrv.ArticleUnreadCount(c, mid)
if err != nil {
log.Error("feedSrv.ArticleUnreadCount(%d,%v) error(%v)", mid, time.Now(), err)
c.JSON(nil, err)
return
}
c.JSON(struct {
Count int `json:"count"`
}{Count: count}, nil)
}
func articleFeed(c *bm.Context) {
var (
params = c.Request.Form
pn, ps int
feeds []*artmdl.Meta
mid int64
err error
)
pnStr := params.Get("pn")
if pn, err = strconv.Atoi(pnStr); err != nil || pn < 1 {
pn = 1
}
psStr := params.Get("ps")
if ps, err = strconv.Atoi(psStr); err != nil || ps < 1 {
ps = conf.Conf.Feed.DefaultSize
} else if ps > conf.Conf.Feed.MaxSize {
ps = conf.Conf.Feed.MaxSize
}
if midInter, ok := c.Get("mid"); ok {
mid = midInter.(int64)
}
if feeds, err = feedSrv.ArticleFeed(c, mid, pn, ps); err != nil {
log.Error("feedSrv.ArticleFeed(%d,%d,%d) error(%v)", mid, pn, ps, err)
c.JSON(nil, err)
return
}
c.JSON(feeds, nil)
}