198 lines
4.1 KiB
Go
198 lines
4.1 KiB
Go
package http
|
|
|
|
import (
|
|
"go-common/app/interface/main/creative/model/app"
|
|
mMdl "go-common/app/interface/main/creative/model/music"
|
|
"go-common/library/ecode"
|
|
bm "go-common/library/net/http/blademaster"
|
|
"strconv"
|
|
)
|
|
|
|
// prepare ext data for bgm-detail pager
|
|
func appBgmExt(c *bm.Context) {
|
|
midStr, _ := c.Get("mid")
|
|
mid := midStr.(int64)
|
|
if mid <= 0 {
|
|
c.JSON(nil, ecode.CreativeNotLogin)
|
|
return
|
|
}
|
|
params := c.Request.Form
|
|
sidStr := params.Get("sid")
|
|
var (
|
|
sid int64
|
|
err error
|
|
ext *mMdl.BgmExt
|
|
)
|
|
sid, err = strconv.ParseInt(sidStr, 10, 64)
|
|
if err != nil {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
ext, err = musicSvc.BgmExt(c, mid, sid)
|
|
if err != nil {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
c.JSON(ext, nil)
|
|
}
|
|
|
|
func appBgmPre(c *bm.Context) {
|
|
midStr, _ := c.Get("mid")
|
|
mid := midStr.(int64)
|
|
if mid <= 0 {
|
|
c.JSON(nil, ecode.CreativeNotLogin)
|
|
return
|
|
}
|
|
params := c.Request.Form
|
|
fromStr := params.Get("from")
|
|
from, _ := strconv.Atoi(fromStr)
|
|
if _, ok := app.BgmFrom[from]; !ok {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
c.JSON(map[string]interface{}{
|
|
"typelist": musicSvc.PreByFrom(c, from),
|
|
"hotword": musicSvc.Hotwords,
|
|
}, nil)
|
|
}
|
|
|
|
func appBgmList(c *bm.Context) {
|
|
midStr, _ := c.Get("mid")
|
|
mid := midStr.(int64)
|
|
if mid <= 0 {
|
|
c.JSON(nil, ecode.CreativeNotLogin)
|
|
return
|
|
}
|
|
params := c.Request.Form
|
|
tidStr := params.Get("tid")
|
|
tid, err := strconv.Atoi(tidStr)
|
|
if err != nil {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
c.JSON(musicSvc.BgmList(c, tid), nil)
|
|
}
|
|
|
|
func arcBgmList(c *bm.Context) {
|
|
v := new(struct {
|
|
AID int64 `form:"aid" validate:"required"`
|
|
CID int64 `form:"cid" validate:"required"`
|
|
Cache bool `form:"cache"`
|
|
})
|
|
if err := c.Bind(v); err != nil {
|
|
return
|
|
}
|
|
res, err := pubSvc.BgmBindList(c, v.AID, v.CID, 3, true)
|
|
if err != nil {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
c.JSON(res, nil)
|
|
}
|
|
|
|
func appBgmSearch(c *bm.Context) {
|
|
midStr, _ := c.Get("mid")
|
|
mid := midStr.(int64)
|
|
if mid <= 0 {
|
|
c.JSON(nil, ecode.CreativeNotLogin)
|
|
return
|
|
}
|
|
params := c.Request.Form
|
|
pnStr := params.Get("pn")
|
|
psStr := params.Get("ps")
|
|
kw := params.Get("kw")
|
|
pn, _ := strconv.Atoi(pnStr)
|
|
if pn < 1 {
|
|
pn = 1
|
|
}
|
|
ps, _ := strconv.Atoi(psStr)
|
|
if ps > 20 || ps < 0 {
|
|
ps = 20
|
|
}
|
|
c.JSON(musicSvc.BgmSearch(c, kw, mid, pn, ps), nil)
|
|
}
|
|
|
|
func appBgmView(c *bm.Context) {
|
|
midStr, _ := c.Get("mid")
|
|
mid := midStr.(int64)
|
|
if mid <= 0 {
|
|
c.JSON(nil, ecode.CreativeNotLogin)
|
|
return
|
|
}
|
|
params := c.Request.Form
|
|
sidStr := params.Get("sid")
|
|
sid, err := strconv.ParseInt(sidStr, 10, 64)
|
|
if err != nil {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
c.JSON(musicSvc.BgmView(c, sid), nil)
|
|
}
|
|
|
|
func appMaterialPre(c *bm.Context) {
|
|
midStr, _ := c.Get("mid")
|
|
mid := midStr.(int64)
|
|
if mid <= 0 {
|
|
c.JSON(nil, ecode.CreativeNotLogin)
|
|
return
|
|
}
|
|
params := c.Request.Form
|
|
buildStr := params.Get("build")
|
|
build, _ := strconv.Atoi(buildStr)
|
|
plat := params.Get("platform")
|
|
c.JSON(musicSvc.MaterialPre(c, mid, plat, build), nil)
|
|
}
|
|
|
|
func appMaterial(c *bm.Context) {
|
|
midStr, _ := c.Get("mid")
|
|
mid := midStr.(int64)
|
|
if mid <= 0 {
|
|
c.JSON(nil, ecode.CreativeNotLogin)
|
|
return
|
|
}
|
|
params := c.Request.Form
|
|
idStr := params.Get("id")
|
|
id, _ := strconv.ParseInt(idStr, 10, 64)
|
|
tpStr := params.Get("type")
|
|
tp, _ := strconv.Atoi(tpStr)
|
|
c.JSONMap(map[string]interface{}{
|
|
"data": musicSvc.Material(c, id, int8(tp), mid),
|
|
}, nil)
|
|
}
|
|
|
|
func appMissionByType(c *bm.Context) {
|
|
midStr, _ := c.Get("mid")
|
|
mid := midStr.(int64)
|
|
if mid <= 0 {
|
|
c.JSON(nil, ecode.CreativeNotLogin)
|
|
return
|
|
}
|
|
params := c.Request.Form
|
|
tidStr := params.Get("tid")
|
|
tid, _ := strconv.Atoi(tidStr)
|
|
actWithTP, _ := arcSvc.MissionOnlineByTid(c, int16(tid), 1)
|
|
c.JSON(actWithTP, nil)
|
|
}
|
|
|
|
func appH5BgmFeedback(c *bm.Context) {
|
|
midStr, _ := c.Get("mid")
|
|
mid := midStr.(int64)
|
|
if mid <= 0 {
|
|
c.JSON(nil, ecode.CreativeNotLogin)
|
|
return
|
|
}
|
|
var err error
|
|
v := new(struct {
|
|
Name string `form:"name"`
|
|
Musicians string `form:"musicians"`
|
|
})
|
|
if err = c.Bind(v); err != nil {
|
|
return
|
|
}
|
|
if len(v.Name) == 0 && len(v.Musicians) == 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
c.JSON(musicSvc.AddBgmFeedBack(c, v.Name, v.Musicians, "h5", mid), nil)
|
|
}
|