Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"ads.go",
"banner.go",
"http.go",
"local.go",
"resource.go",
],
importpath = "go-common/app/service/main/resource/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/resource/conf:go_default_library",
"//app/service/main/resource/model:go_default_library",
"//app/service/main/resource/service:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/http/blademaster:go_default_library",
"//library/net/http/blademaster/middleware/verify:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,70 @@
package http
import (
"strconv"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
"go-common/app/service/main/resource/model"
)
// pasterAPP get paster for APP
func pasterAPP(c *bm.Context) {
var (
params = c.Request.Form
aid, typeID, buvid string
platform, adType int
err error
)
aid = params.Get("aid")
typeID = params.Get("type_id")
if aid == "" && typeID == "" {
c.JSON(nil, ecode.RequestErr)
return
}
if buvid = params.Get("buvid"); buvid == "" {
c.JSON(nil, ecode.RequestErr)
return
}
if platform, err = strconv.Atoi(params.Get("platform")); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if adType, err = strconv.Atoi(params.Get("type")); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(resSvc.PasterAPP(c, int8(platform), int8(adType), aid, typeID, buvid))
}
// pasterPGC get paster for PGC
func pasterPGC(c *bm.Context) {
var (
params = c.Request.Form
sid, platform, device string
adType int
plat int8
err error
)
sid = params.Get("season_id")
if _, err = strconv.ParseInt(sid, 10, 64); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if adType, err = strconv.Atoi(params.Get("type")); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if platform = params.Get("platform"); platform == "" {
c.JSON(nil, ecode.RequestErr)
return
}
device = params.Get("device")
if platform == "web" {
plat = model.PlatWEB
} else {
plat = model.Plat(platform, device)
}
c.JSON(resSvc.PasterPGC(c, plat, int8(adType), sid))
}

View File

@@ -0,0 +1,48 @@
package http
import (
"strconv"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
// banner get banner
func banner(c *bm.Context) {
params := c.Request.Form
aid, _ := strconv.ParseInt(params.Get("aid"), 10, 64)
platStr := params.Get("plat")
plat, err := strconv.Atoi(platStr)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
mobiApp := params.Get("mobi_app")
resIds := params.Get("resource_ids")
buildStr := params.Get("build")
channel := params.Get("channel")
network := params.Get("network")
isAd, _ := strconv.ParseBool(params.Get("is_ad"))
// check params
build, err := strconv.Atoi(buildStr)
if err != nil {
log.Error("build(%s) error(%v)", buildStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
var mid int64
if midInter, ok := c.Get("mid"); ok {
mid = midInter.(int64)
}
buvid := params.Get("buvid")
ip := params.Get("ip")
device := params.Get("device")
openEvent := params.Get("open_event")
version := params.Get("version")
adExtra := params.Get("ad_extra")
banner := resSvc.Banners(c, int8(plat), build, aid, mid, resIds, channel, ip, buvid, network, mobiApp, device, openEvent, adExtra, version, isAd)
if banner != nil {
c.JSON(banner.Banner, nil)
}
}

View File

@@ -0,0 +1,65 @@
package http
import (
"go-common/app/service/main/resource/conf"
"go-common/app/service/main/resource/service"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/verify"
)
var (
vfySvc *verify.Verify
resSvc *service.Service
)
// Init int http service
func Init(c *conf.Config, s *service.Service) {
vfySvc = verify.New(c.Verify)
resSvc = s
// init internal router
engineInner := bm.DefaultServer(c.BM.Inner)
innerRouter(engineInner)
// init internal server
if err := engineInner.Start(); err != nil {
log.Error("engineInner.Start() error(%v) | config(%v)", err, c)
panic(err)
}
// init external router
engineLocal := bm.DefaultServer(c.BM.Local)
localRouter(engineLocal)
// init external server
if err := engineLocal.Start(); err != nil {
log.Error("engineLocal.Start() error(%v) | config(%v)", err, c)
panic(err)
}
}
// innerRouter init outer router api path.
func innerRouter(e *bm.Engine) {
e.Ping(ping)
e.Register(register)
rs := e.Group("/x/internal/resource")
bn := rs.Group("/banner")
bn.GET("", banner)
ads := rs.Group("/ads")
ads.GET("/paster/app", vfySvc.Verify, pasterAPP)
ads.GET("/paster/pgc", vfySvc.Verify, pasterPGC)
res := rs.Group("/res")
res.GET("", vfySvc.Verify, resource)
res.GET("/resources", vfySvc.Verify, resources)
res.GET("/indexIcon", vfySvc.Verify, indexIcon)
res.GET("/playerIcon", vfySvc.Verify, playerIcon)
res.GET("/cmtbox", vfySvc.Verify, cmtbox)
res.GET("/regionCard", vfySvc.Verify, regionCard)
res.GET("/audit", vfySvc.Verify, audit)
}
// localRouter init local router api path.
func localRouter(e *bm.Engine) {
e.GET("/x/resource/version", version)
e.GET("/x/resource/monitor", monitor)
}

View File

@@ -0,0 +1,36 @@
package http
import (
"net/http"
"go-common/app/service/main/resource/conf"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
// ping check server ok.
func ping(c *bm.Context) {
if err := resSvc.Ping(c); err != nil {
log.Error("resource service ping error(%v)", err)
c.AbortWithStatus(http.StatusServiceUnavailable)
}
}
// version check server version.
func version(c *bm.Context) {
data := map[string]interface{}{
"version": conf.Conf.Version,
}
c.JSONMap(data, nil)
}
// register for discovery
func register(c *bm.Context) {
c.JSON(nil, nil)
}
// monitor for monitorURL
func monitor(c *bm.Context) {
resSvc.Monitor(c)
c.JSON(nil, nil)
}

View File

@@ -0,0 +1,86 @@
package http
import (
"strconv"
"strings"
"go-common/app/service/main/resource/model"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
)
func resource(c *bm.Context) {
var (
params = c.Request.Form
rid int
err error
)
ridStr := params.Get("rid")
if rid, err = strconv.Atoi(ridStr); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(resSvc.Resource(c, rid), nil)
}
func resources(c *bm.Context) {
var (
params = c.Request.Form
rid int
rids []int
err error
)
ridsStr := params.Get("rids")
sArr := strings.Split(ridsStr, ",")
for _, s := range sArr {
if rid, err = strconv.Atoi(s); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
rids = append(rids, rid)
}
c.JSON(resSvc.Resources(c, rids), nil)
}
func indexIcon(c *bm.Context) {
c.JSON(resSvc.IndexIcon(c), nil)
}
func playerIcon(c *bm.Context) {
c.JSON(resSvc.PlayerIcon(c))
}
func cmtbox(c *bm.Context) {
var (
params = c.Request.Form
id int64
err error
)
if id, err = strconv.ParseInt(params.Get("id"), 10, 64); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(resSvc.Cmtbox(c, id))
}
func regionCard(c *bm.Context) {
var (
params = c.Request.Form
err error
)
mobiApp := params.Get("mobi_app")
buildStr := params.Get("build")
// check params
build, err := strconv.Atoi(buildStr)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
device := params.Get("device")
plat := model.Plat(mobiApp, device)
c.JSON(resSvc.RegionCard(c, plat, build))
}
func audit(c *bm.Context) {
c.JSON(resSvc.Audit(c), nil)
}