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

65 lines
1.4 KiB
Go

package http
import (
"encoding/json"
"io/ioutil"
"go-common/app/interface/main/videoup/model/archive"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func webV2Add(c *bm.Context) {
var (
aid int64
ap = &archive.ArcParam{}
cp = &archive.ArcParam{}
err error
validated bool
)
midI, _ := c.Get("mid")
mid, ok := midI.(int64)
if !ok || mid <= 0 {
c.JSON(nil, ecode.RequestErr)
return
}
bs, err := ioutil.ReadAll(c.Request.Body)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
c.Request.Body.Close()
err = json.Unmarshal(bs, ap)
err = json.Unmarshal(bs, cp)
if err != nil {
c.JSON(nil, ecode.VideoupParamErr)
return
}
defer func() {
cp.Aid = ap.Aid
cp.Mid = ap.Mid
cp.IPv6 = ap.IPv6
cp.UpFrom = ap.UpFrom
build, buvid := getBuildInfo(c)
vdpSvc.SendArchiveLog(aid, build, buvid, "add", "web/v2", cp, err)
}()
validated, err = vdpSvc.Validate(c, ap.Geetest, "web", mid)
if validated || err == ecode.CreativeGeetestAPIErr {
ap.Mid = mid
ap.UpFrom = archive.UpFromWeb
aid, err = vdpSvc.WebAdd(c, mid, ap, validated)
if err != nil {
log.Error("vdpSvc.WebAdd Err mid(%+d)|ap(%+v)|err(%+v)", mid, ap, err)
c.JSON(nil, err)
return
}
c.JSON(map[string]interface{}{
"aid": aid,
}, nil)
} else {
c.JSON(nil, ecode.CreativeGeetestErr)
}
}