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.
135 lines
3.5 KiB
135 lines
3.5 KiB
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)) |
|
}
|
|
|