You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
312 lines
7.0 KiB
312 lines
7.0 KiB
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())) |
|
}
|
|
|