go-common/app/interface/main/creative/http/web_academy.go

115 lines
2.2 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package http
import (
"strconv"
"go-common/app/interface/main/creative/model/academy"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/metadata"
"go-common/library/xstr"
)
func webAcademyTags(c *bm.Context) {
// check user
_, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.NoLogin)
return
}
// check params
tgs, _ := acaSvc.TagList(c)
c.JSON(tgs, nil)
}
func webAcademyArchives(c *bm.Context) {
params := c.Request.Form
tidsStr := params.Get("tids")
bsStr := params.Get("business")
pageStr := params.Get("pn")
psStr := params.Get("ps")
keyword := params.Get("keyword")
order := params.Get("order")
ip := metadata.String(c, metadata.RemoteIP)
// check user
_, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.NoLogin)
return
}
var (
tids []int64
err error
)
// check params
if tidsStr != "" {
if tids, err = xstr.SplitInts(tidsStr); err != nil {
log.Error("strconv.ParseInt(%s) error(%v)", tidsStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
}
bs, err := strconv.Atoi(bsStr)
if err != nil {
log.Error("strconv.Atoi(%s) error(%v)", bsStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
pn, err := strconv.Atoi(pageStr)
if err != nil {
log.Error("strconv.Atoi(%s) error(%v)", pageStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
ps, err := strconv.Atoi(psStr)
if err != nil {
log.Error("strconv.Atoi(%s) error(%v)", psStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
if pn == 0 {
pn = 1
}
if ps > 20 {
ps = 20
}
aca := &academy.EsParam{
Tid: tids,
Business: bs,
Pn: pn,
Ps: ps,
Keyword: keyword,
Order: order,
IP: ip,
}
arcs, err := acaSvc.ArchivesWithES(c, aca)
if err != nil {
c.JSON(nil, err)
return
}
c.JSON(arcs, nil)
}
func webAddFeedBack(c *bm.Context) {
params := c.Request.Form
category := params.Get("category")
course := params.Get("course")
suggest := params.Get("suggest")
// check user
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.NoLogin)
return
}
mid, _ := midI.(int64)
id, err := acaSvc.AddFeedBack(c, category, course, suggest, mid)
if err != nil {
c.JSON(nil, err)
return
}
c.JSON(map[string]interface{}{
"id": id,
}, nil)
}