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

105 lines
2.7 KiB
Go

package http
import (
"encoding/json"
"io/ioutil"
"go-common/app/admin/main/videoup/model/archive"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
xtime "go-common/library/time"
)
// upArchiveArr update archive attribute.
func upCMArr(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"`
AdminID int64 `json:"admin_id"`
RankAttr struct {
Main int32 `json:"main"`
RecentArc int32 `json:"recent_arc"`
AllArc int32 `json:"all_arc"`
} `json:"rank_attr"`
DynamicAttr struct {
Main int32 `json:"main"`
} `json:"dynamic_attr"`
RecommendAttr struct {
Main int32 `json:"main"`
} `json:"recommend_attr"`
}
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, 6)
attrs[archive.AttrBitNoRank] = ap.RankAttr.Main
attrs[archive.AttrBitNoDynamic] = ap.DynamicAttr.Main
attrs[archive.AttrBitNoRecommend] = ap.RecommendAttr.Main
// forbid
forbidAttrs := make(map[string]map[uint]int32, 3)
forbidAttrs[archive.ForbidRank] = map[uint]int32{
archive.ForbidRankMain: ap.RankAttr.Main,
archive.ForbidRankRecentArc: ap.RankAttr.RecentArc,
archive.ForbidRankAllArc: ap.RankAttr.AllArc,
}
forbidAttrs[archive.ForbidDynamic] = map[uint]int32{
archive.ForbidDynamicMain: ap.DynamicAttr.Main,
}
forbidAttrs[archive.ForbidRecommend] = map[uint]int32{
archive.ForbidRecommendMain: ap.RecommendAttr.Main,
}
// update attrs and forbid
c.JSON(nil, vdaSvc.UpArchiveAttr(c, ap.Aid, ap.AdminID, attrs, forbidAttrs, ""))
}
// upCMArrDelay up cm archive delaytime
func upCMArcDelay(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"`
Dtime xtime.Time `json:"dtime"`
}
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
}
if err = vdaSvc.UpArcDtime(c, ap.Aid, ap.Dtime); err != nil {
log.Error("vdaSvc.UpArcDtime() error(%v)", err)
c.JSON(nil, err)
return
}
c.JSON(nil, nil)
}