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,42 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"asset.go",
"http.go",
"trade.go",
],
importpath = "go-common/app/service/main/ugcpay/server/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/ugcpay/api/http:go_default_library",
"//app/service/main/ugcpay/conf:go_default_library",
"//app/service/main/ugcpay/model:go_default_library",
"//app/service/main/ugcpay/server/grpc:go_default_library",
"//app/service/main/ugcpay/service:go_default_library",
"//library/ecode: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,77 @@
package http
import (
api "go-common/app/service/main/ugcpay/api/http"
"go-common/app/service/main/ugcpay/model"
bm "go-common/library/net/http/blademaster"
)
func assetQuery(ctx *bm.Context) {
var (
err error
arg = &api.ArgAssetQuery{}
resp = &api.RespAssetQuery{}
asset *model.Asset
pp map[string]int64
)
if err = ctx.Bind(arg); err != nil {
return
}
if asset, pp, err = srv.AssetQuery(ctx, arg.OID, arg.OType, arg.Currency); err != nil {
ctx.JSON(nil, err)
return
}
resp.Parse(asset, pp)
ctx.JSON(resp, err)
}
func assetRegister(ctx *bm.Context) {
var (
err error
arg = &api.ArgAssetRegister{}
)
if err = ctx.Bind(arg); err != nil {
return
}
ctx.JSON(nil, srv.AssetRegister(ctx, arg.MID, arg.OID, arg.OType, arg.Currency, arg.Price))
}
func assetRelation(ctx *bm.Context) {
var (
err error
arg = &api.ArgAssetRelation{}
resp = &api.RespAssetRelation{}
state string
)
if err = ctx.Bind(arg); err != nil {
return
}
if state, err = srv.AssetRelation(ctx, arg.MID, arg.OID, arg.OType); err != nil {
ctx.JSON(nil, err)
return
}
resp.State = state
ctx.JSON(resp, err)
}
func assetRelationDetail(ctx *bm.Context) {
var (
err error
arg = &api.ArgAssetRelationDetail{}
resp = &api.RespAssetRelationDetail{}
asset *model.Asset
)
if err = ctx.Bind(arg); err != nil {
return
}
if resp.RelationState, err = srv.AssetRelation(ctx, arg.MID, arg.OID, arg.OType); err != nil {
ctx.JSON(nil, err)
return
}
if asset, resp.AssetPlatformPrice, err = srv.AssetQuery(ctx, arg.OID, arg.OType, arg.Currency); err != nil {
ctx.JSON(nil, err)
return
}
resp.AssetPrice = asset.Price
ctx.JSON(resp, err)
}

View File

@@ -0,0 +1,56 @@
package http
import (
"fmt"
"go-common/app/service/main/ugcpay/conf"
"go-common/app/service/main/ugcpay/server/grpc"
"go-common/app/service/main/ugcpay/service"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/verify"
)
var (
srv *service.Service
vfy *verify.Verify
)
// Init init
func Init(c *conf.Config, s *service.Service) {
srv = s
vfy = verify.New(c.Verify)
grpc.New(nil, srv)
engine := bm.DefaultServer(c.BM)
route(engine)
if err := engine.Start(); err != nil {
panic(fmt.Sprintf("BM start err(%+v)", err))
}
}
func route(e *bm.Engine) {
e.Ping(ping)
g := e.Group("/x/internal/ugcpay", vfy.Verify)
{
g1 := g.Group("/asset")
{
g1.GET("", assetQuery)
g1.POST("/register", assetRegister)
g1.GET("/relation", assetRelation)
g1.GET("/relation/detail", assetRelationDetail)
}
}
g = e.Group("/x/internal/ugcpay")
{
g1 := g.Group("/trade")
{
g1.POST("refund", vfy.Verify, tradePayRefund)
g1.POST("refunds", vfy.Verify, tradePayRefunds)
g1.GET("/pay/callback", tradePayCallback)
g1.GET("/pay/refund/callback", tradePayRefundCallback)
g1.GET("/pay/recharge/callback", tradePayRechargeCallback)
}
}
}
func ping(c *bm.Context) {
}

View File

@@ -0,0 +1,83 @@
package http
import (
"net/http"
api "go-common/app/service/main/ugcpay/api/http"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
)
func tradePayRefund(ctx *bm.Context) {
var (
err error
arg = &api.ArgTradeRefund{}
)
if err = ctx.Bind(arg); err != nil {
return
}
ctx.JSON(nil, srv.TradeRefund(ctx, arg.OrderID))
}
func tradePayRefunds(ctx *bm.Context) {
var (
err error
arg = &api.ArgTradeRefunds{}
)
if err = ctx.Bind(arg); err != nil {
return
}
if len(arg.OrderIDs) > 20 {
err = ecode.RequestErr
return
}
ctx.JSON(nil, srv.TradeRefunds(ctx, arg.OrderIDs))
}
func tradePayCallback(ctx *bm.Context) {
var (
err error
arg = &api.ArgTradeCallback{}
retMSG string
)
if err = ctx.Bind(arg); err != nil {
return
}
if retMSG, err = srv.TradePayCallback(ctx, arg.MSGID, arg.MSGContent); err != nil {
ctx.JSON(nil, err)
return
}
ctx.String(http.StatusOK, retMSG)
}
func tradePayRefundCallback(ctx *bm.Context) {
var (
err error
arg = &api.ArgTradeCallback{}
retMSG string
)
if err = ctx.Bind(arg); err != nil {
return
}
if retMSG, err = srv.TradeRefundCallback(ctx, arg.MSGID, arg.MSGContent); err != nil {
ctx.JSON(nil, err)
return
}
ctx.String(http.StatusOK, retMSG)
}
func tradePayRechargeCallback(ctx *bm.Context) {
var (
err error
arg = &api.ArgTradeCallback{}
retMSG string
)
if err = ctx.Bind(arg); err != nil {
return
}
if retMSG, err = srv.TradeRefundCallback(ctx, arg.MSGID, arg.MSGContent); err != nil {
ctx.JSON(nil, err)
return
}
ctx.String(http.StatusOK, retMSG)
}