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,46 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_test",
"go_library",
)
go_test(
name = "go_default_test",
srcs = ["rpc_test.go"],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
)
go_library(
name = "go_default_library",
srcs = ["rpc.go"],
importpath = "go-common/app/service/main/sms/server/gorpc",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/sms/api:go_default_library",
"//app/service/main/sms/conf:go_default_library",
"//app/service/main/sms/model:go_default_library",
"//app/service/main/sms/service:go_default_library",
"//library/net/rpc:go_default_library",
"//library/net/rpc/context:go_default_library",
"//library/net/rpc/interceptor: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,42 @@
package gorpc
import (
pb "go-common/app/service/main/sms/api"
"go-common/app/service/main/sms/conf"
"go-common/app/service/main/sms/model"
"go-common/app/service/main/sms/service"
"go-common/library/net/rpc"
"go-common/library/net/rpc/context"
"go-common/library/net/rpc/interceptor"
)
// RPC rpc server
type RPC struct {
s *service.Service
}
// New new rpc server.
func New(c *conf.Config, s *service.Service) (svr *rpc.Server) {
r := &RPC{s: s}
svr = rpc.NewServer(c.RPCServer)
in := interceptor.NewInterceptor("")
svr.Interceptor = in
if err := svr.Register(r); err != nil {
panic(err)
}
return
}
// Send rpc send.
func (r *RPC) Send(c context.Context, a *model.ArgSend, res *struct{}) (err error) {
req := &pb.SendReq{Mid: a.Mid, Mobile: a.Mobile, Country: a.Country, Tcode: a.Tcode, Tparam: a.Tparam}
_, err = r.s.Send(c, req)
return
}
// SendBatch rpc sendbatch.
func (r *RPC) SendBatch(c context.Context, a *model.ArgSendBatch, res *struct{}) (err error) {
req := &pb.SendBatchReq{Mids: a.Mids, Mobiles: a.Mobiles, Tcode: a.Tcode, Tparam: a.Tparam}
_, err = r.s.SendBatch(c, req)
return
}

View File

@@ -0,0 +1 @@
package gorpc

View File

@@ -0,0 +1,33 @@
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/main/sms/server/grpc",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/sms/api:go_default_library",
"//app/service/main/sms/service:go_default_library",
"//library/net/rpc/warden: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,18 @@
package grpc
import (
pb "go-common/app/service/main/sms/api"
"go-common/app/service/main/sms/service"
"go-common/library/net/rpc/warden"
)
// New Sms warden rpc server
func New(c *warden.ServerConfig, svr *service.Service) *warden.Server {
ws := warden.NewServer(c)
pb.RegisterSmsServer(ws.Server(), svr)
ws, err := ws.Start()
if err != nil {
panic(err)
}
return ws
}

View File

@@ -0,0 +1,38 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"http.go",
"sms.go",
],
importpath = "go-common/app/service/main/sms/server/http",
tags = ["automanaged"],
deps = [
"//app/service/main/sms/api:go_default_library",
"//app/service/main/sms/conf:go_default_library",
"//app/service/main/sms/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",
],
)
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,49 @@
package http
import (
"net/http"
"go-common/app/service/main/sms/conf"
"go-common/app/service/main/sms/service"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/verify"
)
var (
smsSvc *service.Service
idfSvc *verify.Verify
)
// Init init http sever instance.
func Init(c *conf.Config, s *service.Service) {
idfSvc = verify.New(c.Verify)
smsSvc = s
engine := bm.DefaultServer(c.HTTPServer)
route(engine)
if err := engine.Start(); err != nil {
log.Error("engine.Start error(%v)", err)
panic(err)
}
}
func route(e *bm.Engine) {
e.Ping(ping)
e.Register(register)
g := e.Group("/x/internal/sms", bm.CORS())
{
g.POST("/send", idfSvc.Verify, send)
g.POST("/sendBatch", idfSvc.Verify, sendBatch)
}
}
func ping(c *bm.Context) {
if err := smsSvc.Ping(c); err != nil {
log.Error("sms-service ping error(%v)", err)
c.AbortWithStatus(http.StatusServiceUnavailable)
}
}
func register(c *bm.Context) {
c.JSON(map[string]interface{}{}, nil)
}

View File

@@ -0,0 +1,22 @@
package http
import (
pb "go-common/app/service/main/sms/api"
bm "go-common/library/net/http/blademaster"
)
func send(ctx *bm.Context) {
req := new(pb.SendReq)
if err := ctx.Bind(req); err != nil {
return
}
ctx.JSON(smsSvc.Send(ctx, req))
}
func sendBatch(ctx *bm.Context) {
req := new(pb.SendBatchReq)
if err := ctx.Bind(req); err != nil {
return
}
ctx.JSON(smsSvc.SendBatch(ctx, req))
}