94 lines
2.3 KiB
Go
94 lines
2.3 KiB
Go
package http
|
|
|
|
import (
|
|
"strconv"
|
|
|
|
"go-common/app/interface/main/favorite/conf"
|
|
"go-common/app/interface/main/favorite/model"
|
|
"go-common/library/ecode"
|
|
"go-common/library/log"
|
|
bm "go-common/library/net/http/blademaster"
|
|
)
|
|
|
|
func addFavTopic(c *bm.Context) {
|
|
params := c.Request.Form
|
|
midIfc, _ := c.Get("mid")
|
|
tpStr := params.Get("tpid")
|
|
tp, err := strconv.ParseInt(tpStr, 10, 64)
|
|
if err != nil {
|
|
log.Error("strconv.ParseInt(%s) error(%s)", tpStr)
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
err = favSvc.AddFavTopic(c, midIfc.(int64), tp, c.Request.Header.Get("Cookie"), params.Get("access_key"))
|
|
c.JSON(nil, err)
|
|
}
|
|
|
|
func delFavTopic(c *bm.Context) {
|
|
params := c.Request.Form
|
|
mid, _ := c.Get("mid")
|
|
tpStr := params.Get("tpid")
|
|
tp, err := strconv.ParseInt(tpStr, 10, 64)
|
|
if err != nil {
|
|
log.Error("strconv.ParseInt(%s) error(%s)", tpStr)
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
err = favSvc.DelFavTopic(c, mid.(int64), tp)
|
|
c.JSON(nil, err)
|
|
}
|
|
|
|
// isTopicFavouried determine topic whether or not favouried by mid
|
|
func isTopicFavoured(c *bm.Context) {
|
|
params := c.Request.Form
|
|
mid, _ := c.Get("mid")
|
|
tpStr := params.Get("tpid")
|
|
tp, err := strconv.ParseInt(tpStr, 10, 64)
|
|
if err != nil {
|
|
log.Error("strconv.ParseInt(%s) error(%s)", tpStr)
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
faved, err := favSvc.IsTopicFavoured(c, mid.(int64), tp)
|
|
if err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
data := map[string]interface{}{"favoured": faved}
|
|
c.JSON(data, nil)
|
|
}
|
|
|
|
func favTopics(c *bm.Context) {
|
|
var appInfo *model.AppInfo
|
|
params := c.Request.Form
|
|
mid, _ := c.Get("mid")
|
|
pnStr := params.Get("pn")
|
|
psStr := params.Get("ps")
|
|
pn, err := strconv.Atoi(pnStr)
|
|
if err != nil || pn < 1 {
|
|
pn = 1
|
|
}
|
|
ps, err := strconv.Atoi(psStr)
|
|
if err != nil || ps >= conf.Conf.Fav.MaxPagesize || ps <= 0 {
|
|
ps = conf.Conf.Fav.MaxPagesize
|
|
}
|
|
platformStr := params.Get("platform")
|
|
buildStr := params.Get("build")
|
|
mobiAppStr := params.Get("mobi_app")
|
|
deviceStr := params.Get("device")
|
|
if platformStr != "" && buildStr != "" {
|
|
appInfo = &model.AppInfo{
|
|
Platform: platformStr,
|
|
Build: buildStr,
|
|
MobiApp: mobiAppStr,
|
|
Device: deviceStr,
|
|
}
|
|
}
|
|
data, err := favSvc.FavTopics(c, mid.(int64), pn, ps, appInfo)
|
|
if err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
c.JSON(data, nil)
|
|
}
|