68 lines
1.4 KiB
Go
68 lines
1.4 KiB
Go
|
package http
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
"net/http"
|
||
|
|
||
|
"go-common/app/service/bbq/video/conf"
|
||
|
"go-common/app/service/bbq/video/service"
|
||
|
"go-common/library/ecode"
|
||
|
"go-common/library/log"
|
||
|
bm "go-common/library/net/http/blademaster"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
srv *service.Service
|
||
|
)
|
||
|
|
||
|
// Init init
|
||
|
func Init(c *conf.Config, s *service.Service) {
|
||
|
srv = s
|
||
|
engine := bm.DefaultServer(c.BM.Server)
|
||
|
route(engine)
|
||
|
if err := engine.Start(); err != nil {
|
||
|
log.Error("bm Start error(%v)", err)
|
||
|
panic(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func route(e *bm.Engine) {
|
||
|
e.Ping(ping)
|
||
|
e.Register(register)
|
||
|
g := e.Group("/bbq/internal")
|
||
|
{
|
||
|
g.POST("/sv/trans/back", bvcTransBack)
|
||
|
g.GET("/sv/trans/commit", bvcTransCommit)
|
||
|
g.POST("/sv/stat", videoStat)
|
||
|
g.GET("/create/id", createID)
|
||
|
g.GET("/sv/create/id", createID)
|
||
|
// 增加视频播放量数据
|
||
|
g.POST("/sv/views/add", videoViewsAdd)
|
||
|
g.POST("/sv/limits/modify", limitsModify)
|
||
|
g.POST("/sv/play", svPlays)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func ping(c *bm.Context) {
|
||
|
if err := srv.Ping(c); err != nil {
|
||
|
log.Error("ping error(%v)", err)
|
||
|
c.AbortWithStatus(http.StatusServiceUnavailable)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func register(c *bm.Context) {
|
||
|
c.JSON(map[string]interface{}{}, nil)
|
||
|
}
|
||
|
|
||
|
// bindJson 解析application/json请求body
|
||
|
func bindJSON(c *bm.Context, obj interface{}) error {
|
||
|
decoder := json.NewDecoder(c.Request.Body)
|
||
|
err := decoder.Decode(obj)
|
||
|
if err != nil {
|
||
|
log.Warn("参数解析失败 %v", err)
|
||
|
err = ecode.ReqParamErr
|
||
|
return err
|
||
|
}
|
||
|
return nil
|
||
|
}
|