120 lines
2.6 KiB
Go
120 lines
2.6 KiB
Go
|
package http
|
||
|
|
||
|
import (
|
||
|
http2 "net/http"
|
||
|
|
||
|
"go-common/app/admin/main/videoup-task/conf"
|
||
|
"go-common/app/admin/main/videoup-task/service"
|
||
|
"go-common/library/log"
|
||
|
bm "go-common/library/net/http/blademaster"
|
||
|
"go-common/library/net/http/blademaster/middleware/permit"
|
||
|
"go-common/library/net/http/blademaster/middleware/verify"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
srv *service.Service
|
||
|
permSrv *permit.Permit
|
||
|
vfySvc *verify.Verify
|
||
|
)
|
||
|
|
||
|
//Init init http
|
||
|
func Init(conf *conf.Config, s *service.Service) {
|
||
|
srv = s
|
||
|
permSrv = permit.New(conf.Auth)
|
||
|
vfySvc = verify.New(nil)
|
||
|
engine := bm.DefaultServer(conf.BM)
|
||
|
innerRoute(engine)
|
||
|
|
||
|
if err := engine.Start(); err != nil {
|
||
|
log.Error("engine.Start error(%v)", err)
|
||
|
panic(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func innerRoute(engine *bm.Engine) {
|
||
|
engine.Ping(ping)
|
||
|
g := engine.Group("/x/admin/vt")
|
||
|
{
|
||
|
v := g.Group("/video", permSrv.Permit("TASK_QA_VIDEO"))
|
||
|
{
|
||
|
v.GET("/list", list)
|
||
|
v.GET("/detail", detail)
|
||
|
v.POST("/submit", submit)
|
||
|
}
|
||
|
|
||
|
t := g.Group("/task", permSrv.Permit(""))
|
||
|
{
|
||
|
w := t.Group("/", permSrv.Permit("TASKWEIGHT"))
|
||
|
{
|
||
|
w.GET("/weightconfig/maxweight", maxweight)
|
||
|
w.POST("/weightconfig/add", addwtconf)
|
||
|
w.POST("/weightconfig/del", delwtconf)
|
||
|
w.GET("/weightconfig/list", listwtconf)
|
||
|
w.GET("/weightlog/list", listwtlog)
|
||
|
w.GET("/wcv/show", show)
|
||
|
w.POST("/wcv/set", set)
|
||
|
}
|
||
|
|
||
|
r := t.Group("/review")
|
||
|
{
|
||
|
r.GET("/config/list", listreviews)
|
||
|
r.POST("/config/add", addreview)
|
||
|
r.POST("/config/edit", editreview)
|
||
|
r.POST("/config/delete", delreview)
|
||
|
}
|
||
|
c := t.Group("consumer")
|
||
|
{
|
||
|
c.GET("/on", checkgroup(), on)
|
||
|
c.GET("/off", checkgroup(), off) //自己退出
|
||
|
c.POST("/forceoff", forceoff) //强制踢出
|
||
|
}
|
||
|
|
||
|
t.GET("/online", permSrv.Permit("ONLINE"), online)
|
||
|
t.GET("/inoutlist", inoutlist)
|
||
|
t.POST("/delay", checkowner(), delay)
|
||
|
t.POST("/free", taskfree)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
g = engine.Group("/vt", vfySvc.Verify)
|
||
|
{
|
||
|
v := g.Group("/video")
|
||
|
{
|
||
|
v.POST("/add", add)
|
||
|
v.POST("/uputime", upTaskUTime)
|
||
|
}
|
||
|
|
||
|
g.GET("/report/memberstats", memberStats)
|
||
|
r := g.Group("review")
|
||
|
{
|
||
|
r.POST("/check", checkReview)
|
||
|
}
|
||
|
|
||
|
t := g.Group("task")
|
||
|
{
|
||
|
t.GET("/tooks", taskTooks)
|
||
|
t.GET("/next", next)
|
||
|
t.GET("/list", listTask)
|
||
|
t.GET("/info", info)
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func ping(ctx *bm.Context) {
|
||
|
if srv.Ping(ctx) != nil {
|
||
|
ctx.AbortWithStatus(http2.StatusServiceUnavailable)
|
||
|
ctx.Done()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func getUIDName(ctx *bm.Context) (uid int64, username string) {
|
||
|
if uidi, _ := ctx.Get("uid"); uidi != nil {
|
||
|
uid = uidi.(int64)
|
||
|
}
|
||
|
if name, _ := ctx.Get("username"); name != nil {
|
||
|
username = name.(string)
|
||
|
}
|
||
|
return
|
||
|
}
|