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,34 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["server.go"],
importpath = "go-common/app/service/bbq/push/server/grpc",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/bbq/push/api/grpc/v1:go_default_library",
"//app/service/bbq/push/service:go_default_library",
"//library/net/rpc/warden:go_default_library",
"@org_golang_google_grpc//: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,28 @@
package grpc
import (
"context"
"go-common/app/service/bbq/push/api/grpc/v1"
"go-common/app/service/bbq/push/service"
"go-common/library/net/rpc/warden"
"google.golang.org/grpc"
)
//New 生成rpc服务
func New(conf *warden.ServerConfig, srv *service.Service) (s *warden.Server, err error) {
s = warden.NewServer(conf)
s.Use(middleware())
v1.RegisterPushServer(s.Server(), srv)
_, err = s.Start()
return
}
func middleware() grpc.UnaryServerInterceptor {
return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) {
//call chain
resp, err = handler(ctx, req)
return
}
}

View File

@@ -0,0 +1,39 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["http.go"],
importpath = "go-common/app/service/bbq/push/server/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/bbq/push/api/grpc/v1:go_default_library",
"//app/service/bbq/push/api/http/v1:go_default_library",
"//app/service/bbq/push/conf:go_default_library",
"//app/service/bbq/push/service:go_default_library",
"//library/log:go_default_library",
"//library/net/http/blademaster:go_default_library",
"//library/net/http/blademaster/middleware/verify:go_default_library",
"//vendor/github.com/json-iterator/go:go_default_library",
"//vendor/github.com/pkg/errors: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,119 @@
package http
import (
grpc "go-common/app/service/bbq/push/api/grpc/v1"
"go-common/app/service/bbq/push/api/http/v1"
"go-common/app/service/bbq/push/conf"
"go-common/app/service/bbq/push/service"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/verify"
"github.com/json-iterator/go"
"github.com/pkg/errors"
)
var (
srv *service.Service
vfy *verify.Verify
)
// Init init
func Init(c *conf.Config, svc *service.Service) {
srv = svc
vfy = verify.New(c.Verify)
engine := bm.DefaultServer(c.BM)
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/push")
{
g.POST("/notice", notice)
g.POST("/message", message)
}
}
func ping(c *bm.Context) {
c.String(0, "pong")
}
func register(c *bm.Context) {
c.JSON(map[string]interface{}{}, nil)
}
func notice(c *bm.Context) {
args := &v1.NoticeRequest{}
if err := c.Bind(args); err != nil {
errors.Wrap(err, "参数验证失败")
return
}
devs := []*grpc.Device{
{
RegisterID: args.RegID,
Platform: args.Platform,
SDK: args.SDK,
SendNo: 0,
},
}
ext := make(map[string]string)
ext["schema"] = args.Schema
ext["callback"] = args.Callback
extBytes, _ := jsoniter.Marshal(ext)
req := &grpc.NotificationRequest{
Dev: devs,
Body: &grpc.NotificationBody{
Title: args.Title,
Content: args.Content,
Extra: string(extBytes),
},
}
resp, err := srv.Notification(c, req)
if err != nil {
log.Errorv(c, log.KV("error", err))
}
c.String(0, resp.String())
}
func message(c *bm.Context) {
args := &v1.MessageRequest{}
if err := c.Bind(args); err != nil {
errors.Wrap(err, "参数验证失败")
return
}
devs := []*grpc.Device{
{
RegisterID: args.RegID,
Platform: args.Platform,
SDK: args.SDK,
SendNo: 0,
},
}
ext := make(map[string]string)
ext["schema"] = args.Schema
ext["callback"] = args.Callback
extBytes, _ := jsoniter.Marshal(ext)
req := &grpc.MessageRequest{
Dev: devs,
Body: &grpc.MessageBody{
Title: args.Title,
Content: args.Content,
ContentType: args.ContentType,
Extra: string(extBytes),
},
}
resp, err := srv.Message(c, req)
if err != nil {
log.Errorv(c, log.KV("error", err))
}
c.String(0, resp.String())
}