Initial commit

This commit is contained in:
Donny
2019-04-22 20:46:32 +08:00
commit 49ab8aadd1
25441 changed files with 4055000 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"allowance.go",
"coupon.go",
"http.go",
],
importpath = "go-common/app/service/main/coupon/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/coupon/conf:go_default_library",
"//app/service/main/coupon/model:go_default_library",
"//app/service/main/coupon/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,69 @@
package http
import (
"go-common/app/service/main/coupon/model"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func useAllowance(c *bm.Context) {
var err error
arg := new(model.ArgUseAllowance)
if err = c.Bind(arg); err != nil {
return
}
c.JSON(nil, svc.UseAllowanceCoupon(c, arg))
}
func allowanceCount(c *bm.Context) {
var (
err error
res []*model.CouponAllowanceInfo
)
arg := new(model.ArgCount)
if err = c.Bind(arg); err != nil {
return
}
res, err = svc.AllowanceCoupon(c, &model.ArgAllowanceCoupons{
Mid: arg.Mid,
State: model.NotUsed,
})
c.JSON(len(res), err)
}
func receiveAllowance(c *bm.Context) {
var err error
arg := new(model.ArgReceiveAllowance)
if err = c.Bind(arg); err != nil {
log.Error("receive allowance bind %+v", err)
return
}
c.JSON(svc.ReceiveAllowance(c, arg))
}
func useNotify(c *bm.Context) {
var err error
arg := new(model.ArgAllowanceCheck)
if err = c.Bind(arg); err != nil {
return
}
c.JSON(svc.UseNotify(c, arg))
}
func prizeCards(c *bm.Context) {
var err error
arg := new(model.ArgCount)
if err = c.Bind(arg); err != nil {
return
}
c.JSON(svc.PrizeCards(c, arg.Mid))
}
func prizeDraw(c *bm.Context) {
var err error
arg := new(model.ArgPrizeDraw)
if err = c.Bind(arg); err != nil {
return
}
c.JSON(svc.PrizeDraw(c, arg.Mid, arg.CardType))
}

View File

@@ -0,0 +1,122 @@
package http
import (
"go-common/app/service/main/coupon/model"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func userCoupon(c *bm.Context) {
var (
err error
count int
)
arg := new(model.ArgMid)
if err = c.Bind(arg); err != nil {
log.Error("user coupon bind %+v", err)
return
}
switch arg.Type {
case model.CouponVideo:
if count, err = svc.VideoCouponCount(c, arg.Mid, arg.Type); err != nil {
log.Error("user coupon(%d) %+v", arg.Mid, err)
}
case model.CouponCartoon:
if count, err = svc.CarToonCouponCount(c, arg.Mid, arg.Type); err != nil {
log.Error("user coupon(%d) %+v", arg.Mid, err)
}
}
c.JSON(map[string]interface{}{
"count": count,
"mid": arg.Mid,
}, nil)
}
func useCoupon(c *bm.Context) {
var (
err error
state int8
token string
)
arg := new(model.ArgUseCoupon)
if err = c.Bind(arg); err != nil {
log.Error("use coupon bind %+v", err)
return
}
if state, token, err = svc.UseCoupon(c, arg.Mid, arg.Oid, arg.Remark, arg.OrderNO, arg.Type, arg.Ver); err != nil {
log.Error("use coupon(%d) %+v", arg.Mid, err)
}
log.Info("use coupon ret(%d,%s)", state, token)
c.JSON(map[string]interface{}{
"state": state,
"coupon_token": token,
}, nil)
}
func useCartoonCoupon(c *bm.Context) {
var (
err error
state int8
token string
)
arg := new(model.ArgUseCartoonCoupon)
if err = c.Bind(arg); err != nil {
log.Error("use coupon bind %+v", err)
return
}
if state, token, err = svc.CartoonUse(c, arg.Mid, arg.OrderNO, arg.Type, arg.Ver, arg.Remark, arg.Tips, arg.Count); err != nil {
log.Error("use coupon(%d) %+v", arg.Mid, err)
c.JSON(nil, err)
return
}
c.JSON(map[string]interface{}{
"state": state,
"coupon_token": token,
}, nil)
}
func couponInfo(c *bm.Context) {
var err error
arg := new(model.ArgCoupon)
if err = c.Bind(arg); err != nil {
log.Error("coupon info bind %+v", err)
return
}
c.JSON(svc.CouponInfo(c, arg.Mid, arg.CouponToken))
}
func addCoupon(c *bm.Context) {
var err error
arg := new(model.ArgAdd)
if err = c.Bind(arg); err != nil {
log.Error("add coupon bind %+v", err)
return
}
c.JSON(nil, svc.AddCoupon(c, arg.Mid, arg.StartTime, arg.ExpireTime, arg.Type, arg.Origin))
}
func changeCoupon(c *bm.Context) {
var err error
arg := new(model.ChangeCoupon)
if err = c.Bind(arg); err != nil {
log.Error("coupon info bind %+v", err)
return
}
c.JSON(nil, svc.ChangeState(c, arg.Mid, arg.UseVer, arg.Ver, arg.CouponToken))
}
func salaryCoupon(c *bm.Context) {
var err error
arg := new(model.ArgSalaryCoupon)
if err = c.Bind(arg); err != nil {
log.Error("coupon info bind %+v", err)
return
}
arg.Origin = int64(model.VipSalary)
if err = svc.SalaryCoupon(c, arg); err != nil {
log.Error("svc.SalaryCoupon(%d) %+v", arg.Mid, err)
c.JSON(nil, err)
return
}
c.JSON(nil, nil)
}

View File

@@ -0,0 +1,72 @@
package http
import (
"net/http"
"go-common/app/service/main/coupon/conf"
"go-common/app/service/main/coupon/service"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/verify"
)
var (
verifySvc *verify.Verify
svc *service.Service
)
// Init init
func Init(c *conf.Config, s *service.Service) {
svc = s
initService(c)
engine := bm.DefaultServer(c.BM)
interRouter(engine)
if err := engine.Start(); err != nil {
log.Error("engine.Start error(%v)", err)
panic(err)
}
}
// initService init services.
func initService(c *conf.Config) {
verifySvc = verify.New(nil)
}
// interRouter init inner router api path.
func interRouter(e *bm.Engine) {
//init api
e.Ping(ping)
e.Register(register)
group := e.Group("/x/internal/coupon", verifySvc.Verify)
{
group.GET("/count", userCoupon)
group.POST("/use", useCoupon)
group.GET("/info", couponInfo)
group.POST("/add", addCoupon)
group.POST("/change", changeCoupon)
group.POST("/cartoon/use", useCartoonCoupon)
group.POST("/grant", salaryCoupon)
ae := group.Group("/allowance")
ae.POST("/use", useAllowance)
ae.POST("/notify", useNotify)
ae.GET("/count", allowanceCount)
ae.POST("/receive", receiveAllowance)
// 元旦活动
group.GET("/prize/cards", prizeCards)
group.POST("/prize/draw", prizeDraw)
}
}
// ping check server ok.
func ping(c *bm.Context) {
if err := svc.Ping(c); err != nil {
log.Error("coupon http service ping error(%v)", err)
c.AbortWithStatus(http.StatusServiceUnavailable)
}
}
// register check server ok.
func register(c *bm.Context) {
c.JSON(map[string]interface{}{}, nil)
}