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

313 lines
7.0 KiB
Go

package http
import (
"go-common/app/interface/main/creative/model/archive"
"go-common/app/interface/main/creative/model/order"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/metadata"
"strconv"
"time"
)
func clientViewArc(c *bm.Context) {
params := c.Request.Form
aidStr := params.Get("aid")
ip := metadata.String(c, metadata.RemoteIP)
// check user
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
// check params
aid, err := strconv.ParseInt(aidStr, 10, 64)
if err != nil {
log.Error("strconv.ParseInt(%s) error(%v)", aidStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
av, err := arcSvc.View(c, mid, aid, ip, archive.PlatformWindows)
if err != nil {
c.JSON(nil, err)
return
}
if av == nil {
c.JSON(nil, ecode.NothingFound)
return
}
av.Archive.Desc = archive.ShortDesc(av.Archive.Desc)
arcElec, err := elecSvc.ArchiveState(c, aid, mid, ip)
if err != nil {
log.Error("archive(%d) error(%v)", mid, err)
}
c.JSON(map[string]interface{}{
"archive": av.Archive,
"videos": av.Videos,
"archive_elec": arcElec,
}, nil)
}
func clientDelArc(c *bm.Context) {
params := c.Request.Form
aidStr := params.Get("aid")
ip := metadata.String(c, metadata.RemoteIP)
// check user
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
// check params
aid, err := strconv.ParseInt(aidStr, 10, 64)
if err != nil {
log.Error("strconv.ParseInt(%s) error(%v)", aidStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
// del
c.JSON(nil, arcSvc.Del(c, mid, aid, ip))
}
func clientArchives(c *bm.Context) {
params := c.Request.Form
class := params.Get("class")
order := params.Get("order")
tidStr := params.Get("tid")
keyword := params.Get("keyword")
pageStr := params.Get("pn")
psStr := params.Get("ps")
ip := metadata.String(c, metadata.RemoteIP)
// check user
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
// check params
pn, _ := strconv.Atoi(pageStr)
if pn <= 0 {
pn = 1
}
ps, _ := strconv.Atoi(psStr)
if ps <= 0 || ps > 50 {
ps = 10
}
tid, _ := strconv.ParseInt(tidStr, 10, 16)
if tid <= 0 {
tid = 0
}
arc, err := arcSvc.Archives(c, mid, int16(tid), keyword, order, class, ip, pn, ps, 0)
if err != nil {
c.JSON(nil, err)
return
}
c.JSON(arc, nil)
}
func clientArchiveSearch(c *bm.Context) {
params := c.Request.Form
class := params.Get("class")
order := params.Get("order")
tidStr := params.Get("tid")
keyword := params.Get("keyword")
pageStr := params.Get("pn")
psStr := params.Get("ps")
ip := metadata.String(c, metadata.RemoteIP)
// check user
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
// check params
pn, _ := strconv.Atoi(pageStr)
if pn <= 0 {
pn = 1
}
ps, _ := strconv.Atoi(psStr)
if ps <= 0 || ps > 50 {
ps = 10
}
tid, _ := strconv.ParseInt(tidStr, 10, 16)
if tid <= 0 {
tid = 0
}
arc, err := arcSvc.Search(c, mid, int16(tid), keyword, order, class, ip, pn, ps, 0)
if err != nil {
c.JSON(nil, err)
return
}
c.JSON(arc, nil)
}
func clientPre(c *bm.Context) {
ip := metadata.String(c, metadata.RemoteIP)
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
mf, err := accSvc.MyInfo(c, mid, ip, time.Now())
if err != nil {
c.JSON(nil, err)
return
}
// commercial order
orders := make([]*order.Order, 0)
if arcSvc.AllowOrderUps(mid) {
orders, _ = arcSvc.ExecuteOrders(c, mid, metadata.String(c, metadata.RemoteIP))
}
mf.Commercial = arcSvc.AllowCommercial(c, mid)
c.JSON(map[string]interface{}{
"typelist": arcSvc.Types(c, "ch"),
"activities": arcSvc.Activities(c),
"myinfo": mf,
"orders": orders,
}, nil)
}
func clientTemplates(c *bm.Context) {
// check user
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
tps, err := tplSvc.Templates(c, mid)
if err != nil {
c.JSON(nil, err)
return
}
c.JSON(tps, nil)
}
func clientTags(c *bm.Context) {
params := c.Request.Form
tidStr := params.Get("typeid")
title := params.Get("title")
filename := params.Get("filename")
desc := params.Get("desc")
cover := params.Get("cover")
// check user
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
// check params
tid, _ := strconv.ParseInt(tidStr, 10, 16)
if tid <= 0 {
tid = 0
}
tags, err := dataSvc.Tags(c, mid, uint16(tid), title, filename, desc, cover, archive.TagPredictFromWindows)
if err != nil {
c.JSON(nil, err)
return
}
// del
c.JSON(tags, nil)
}
func clientAddTpl(c *bm.Context) {
params := c.Request.Form
typeidStr := params.Get("typeid")
copyright := params.Get("arctype")
name := params.Get("name")
title := params.Get("title")
tag := params.Get("keywords")
content := params.Get("description")
// check params
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
typeid, err := strconv.ParseInt(typeidStr, 10, 16)
if err != nil || typeid < 1 {
log.Error("strconv.ParseInt(%s) error(%v)", typeidStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
if name == "" {
log.Error("name is empty error(%v)", err)
c.JSON(nil, ecode.RequestErr)
return
}
// add
err = tplSvc.AddTemplate(c, mid, int16(typeid), copyright, name, title, tag, content, time.Now())
if err != nil {
c.JSON(nil, err)
return
}
c.JSON(nil, nil)
}
func clientUpdateTpl(c *bm.Context) {
params := c.Request.Form
idStr := params.Get("tid")
typeidStr := params.Get("typeid")
copyright := params.Get("arctype")
name := params.Get("name")
title := params.Get("title")
tag := params.Get("keywords")
content := params.Get("description")
// check params
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
id, err := strconv.ParseInt(idStr, 10, 64)
if err != nil || id < 1 {
log.Error("strconv.ParseInt(%s) error(%v)", idStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
typeid, err := strconv.ParseInt(typeidStr, 10, 16)
if err != nil || typeid < 1 {
log.Error("strconv.ParseInt(%s) error(%v)", typeidStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
if name == "" {
log.Error("name is empty error(%v)", err)
c.JSON(nil, ecode.RequestErr)
return
}
// update
c.JSON(nil, tplSvc.UpdateTemplate(c, id, mid, int16(typeid), copyright, name, title, tag, content, time.Now()))
}
func clientDelTpl(c *bm.Context) {
params := c.Request.Form
idStr := params.Get("tid")
// check params
midI, ok := c.Get("mid")
if !ok {
c.JSON(nil, ecode.CreativeNotLogin)
return
}
mid, _ := midI.(int64)
id, err := strconv.ParseInt(idStr, 10, 64)
if err != nil || id < 1 {
log.Error("strconv.ParseInt(%s) error(%v)", idStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
// del
c.JSON(nil, tplSvc.DelTemplate(c, id, mid, time.Now()))
}