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

136 lines
3.5 KiB
Go

package http
import (
"encoding/json"
"io/ioutil"
"time"
"go-common/app/admin/main/videoup/model/archive"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
// passByPGC update archive state pass by pgc
func passByPGC(c *bm.Context) {
req := c.Request
// read
bs, err := ioutil.ReadAll(req.Body)
if err != nil {
log.Error("ioutil.ReadAll() error(%v)", err)
c.JSON(nil, ecode.RequestErr)
return
}
req.Body.Close()
// params
var ap struct {
Aid int64 `json:"aid"`
Gid int64 `json:"gid"`
IsJump int32 `json:"is_jump"`
AllowBp int32 `json:"allow_bp"`
IsBangumi int32 `json:"is_bangumi"`
IsMovie int32 `json:"is_movie"`
BadgePay int32 `json:"is_pay"`
IsPGC int32 `json:"is_pgc"`
RedirectURL string `json:"redirect_url"`
}
if err = json.Unmarshal(bs, &ap); err != nil {
log.Error("http upArchiveArr() json.Unmarshal(%s) error(%v)", string(bs), err)
c.JSON(nil, ecode.RequestErr)
return
}
if ap.Aid == 0 {
log.Error("aid==0")
c.JSON(nil, ecode.RequestErr)
return
}
attrs := make(map[uint]int32, 7)
attrs[archive.AttrBitJumpURL] = ap.IsJump
attrs[archive.AttrBitAllowBp] = ap.AllowBp
attrs[archive.AttrBitIsBangumi] = ap.IsBangumi
attrs[archive.AttrBitIsMovie] = ap.IsMovie
attrs[archive.AttrBitBadgepay] = ap.BadgePay
attrs[archive.AttrBitIsPGC] = ap.IsPGC
attrs[archive.AttrBitLimitArea] = 0
if ap.Gid > 1 {
attrs[archive.AttrBitLimitArea] = 1
}
c.JSON(nil, vdaSvc.PassByPGC(c, ap.Aid, ap.Gid, attrs, ap.RedirectURL, time.Now()))
}
// modifyByPGC update archive attr by pgc
func modifyByPGC(c *bm.Context) {
req := c.Request
// read
bs, err := ioutil.ReadAll(req.Body)
if err != nil {
log.Error("ioutil.ReadAll() error(%v)", err)
c.JSON(nil, ecode.RequestErr)
return
}
req.Body.Close()
// params
var ap struct {
Aid int64 `json:"aid"`
Gid int64 `json:"gid"`
IsJump int32 `json:"is_jump"`
AllowBp int32 `json:"allow_bp"`
IsBangumi int32 `json:"is_bangumi"`
IsMovie int32 `json:"is_movie"`
BadgePay int32 `json:"is_pay"`
IsPGC int32 `json:"is_pgc"`
RedirectURL string `json:"redirect_url"`
}
if err = json.Unmarshal(bs, &ap); err != nil {
log.Error("http modArchiveArr() json.Unmarshal(%s) error(%v)", string(bs), err)
c.JSON(nil, ecode.RequestErr)
return
}
if ap.Aid == 0 {
log.Error("aid==0")
c.JSON(nil, ecode.RequestErr)
return
}
attrs := make(map[uint]int32, 7)
attrs[archive.AttrBitJumpURL] = ap.IsJump
attrs[archive.AttrBitAllowBp] = ap.AllowBp
attrs[archive.AttrBitIsBangumi] = ap.IsBangumi
attrs[archive.AttrBitIsMovie] = ap.IsMovie
attrs[archive.AttrBitBadgepay] = ap.BadgePay
attrs[archive.AttrBitIsPGC] = ap.IsPGC
attrs[archive.AttrBitLimitArea] = 0
if ap.Gid > 1 {
attrs[archive.AttrBitLimitArea] = 1
}
c.JSON(nil, vdaSvc.ModifyByPGC(c, ap.Aid, ap.Gid, attrs, ap.RedirectURL))
}
// lockByPGC update archive state to lockbid by pgc
func lockByPGC(c *bm.Context) {
req := c.Request
// read
bs, err := ioutil.ReadAll(req.Body)
if err != nil {
log.Error("ioutil.ReadAll() error(%v)", err)
c.JSON(nil, ecode.RequestErr)
return
}
req.Body.Close()
// params
var ap struct {
Aid int64 `json:"aid"`
}
if err = json.Unmarshal(bs, &ap); err != nil {
log.Error("http struct aid json.Unmarshal(%s) error(%v)", string(bs), err)
c.JSON(nil, ecode.RequestErr)
return
}
if ap.Aid == 0 {
log.Error("aid==0")
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(nil, vdaSvc.LockByPGC(c, ap.Aid))
}