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,32 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["coupon.go"],
importpath = "go-common/app/service/main/coupon/rpc/client",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/coupon/model:go_default_library",
"//library/net/rpc: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,161 @@
package client
import (
"context"
"go-common/app/service/main/coupon/model"
"go-common/library/net/rpc"
)
var (
_noRes = &struct{}{}
)
const (
_salaryCoupon = "RPC.SalaryCoupon"
_salaryCouponForThird = "RPC.SalaryCouponForThird"
_couponPage = "RPC.CouponPage"
_couponCartoonPage = "RPC.CouponCartoonPage"
_usableAllowanceCoupon = "RPC.UsableAllowanceCoupon"
_allowanceCouponPanel = "RPC.AllowanceCouponPanel"
_multiUsableAllowanceCoupon = "RPC.MultiUsableAllowanceCoupon"
_judgeCouponUsable = "RPC.JudgeCouponUsable"
_allowanceInfo = "RPC.AllowanceInfo"
_cancelUseCoupon = "RPC.CancelUseCoupon"
_couponNotify = "RPC.CouponNotify"
_allowanceList = "RPC.AllowanceList"
_useAllowance = "RPC.UseAllowance"
_allowanceCount = "RPC.AllowanceCount"
_receiveAllowance = "RPC.ReceiveAllowance"
_prizeCards = "RPC.PrizeCards"
_prizeDraw = "RPC.PrizeDraw"
)
const (
_appid = "account.service.coupon"
)
var (
_noArg = &struct{}{}
)
// Service struct info.
type Service struct {
client *rpc.Client2
}
// New create instance of service and return.
func New(c *rpc.ClientConfig) (s *Service) {
s = &Service{}
s.client = rpc.NewDiscoveryCli(_appid, c)
return s
}
// SalaryCoupon salary coupon.
func (s *Service) SalaryCoupon(c context.Context, arg *model.ArgSalaryCoupon) (err error) {
err = s.client.Call(c, _salaryCoupon, arg, _noRes)
return
}
// SalaryCouponForThird salary coupon.
func (s *Service) SalaryCouponForThird(c context.Context, arg *model.ArgSalaryCoupon) (res *model.SalaryCouponForThirdResp, err error) {
res = new(model.SalaryCouponForThirdResp)
err = s.client.Call(c, _salaryCouponForThird, arg, res)
return
}
// CouponPage coupon page.
func (s *Service) CouponPage(c context.Context, arg *model.ArgRPCPage) (res *model.CouponPageRPCResp, err error) {
res = new(model.CouponPageRPCResp)
err = s.client.Call(c, _couponPage, arg, res)
return
}
// CouponCartoonPage coupon cartoon page.
func (s *Service) CouponCartoonPage(c context.Context, arg *model.ArgRPCPage) (res *model.CouponCartoonPageResp, err error) {
res = new(model.CouponCartoonPageResp)
err = s.client.Call(c, _couponCartoonPage, arg, res)
return
}
// UsableAllowanceCoupon get usable allowance coupon.
func (s *Service) UsableAllowanceCoupon(c context.Context, arg *model.ArgAllowanceCoupon) (res *model.CouponAllowancePanelInfo, err error) {
res = new(model.CouponAllowancePanelInfo)
err = s.client.Call(c, _usableAllowanceCoupon, arg, res)
return
}
// AllowanceCouponPanel get allowance coupon.
func (s *Service) AllowanceCouponPanel(c context.Context, arg *model.ArgAllowanceCoupon) (res *model.CouponAllowancePanelResp, err error) {
res = new(model.CouponAllowancePanelResp)
err = s.client.Call(c, _allowanceCouponPanel, arg, res)
return
}
// MultiUsableAllowanceCoupon get usable allowance coupon by muti pirce.
func (s *Service) MultiUsableAllowanceCoupon(c context.Context, arg *model.ArgUsablePirces) (res map[float64]*model.CouponAllowancePanelInfo, err error) {
err = s.client.Call(c, _multiUsableAllowanceCoupon, arg, &res)
return
}
// JudgeCouponUsable judge coupon is usable.
func (s *Service) JudgeCouponUsable(c context.Context, arg *model.ArgJuageUsable) (res *model.CouponAllowanceInfo, err error) {
res = new(model.CouponAllowanceInfo)
err = s.client.Call(c, _judgeCouponUsable, arg, res)
return
}
// AllowanceInfo allowance info.
func (s *Service) AllowanceInfo(c context.Context, arg *model.ArgAllowance) (res *model.CouponAllowanceInfo, err error) {
res = new(model.CouponAllowanceInfo)
err = s.client.Call(c, _allowanceInfo, arg, res)
return
}
// CancelUseCoupon cancel use coupon.
func (s *Service) CancelUseCoupon(c context.Context, arg *model.ArgAllowance) (err error) {
err = s.client.Call(c, _cancelUseCoupon, arg, _noArg)
return
}
// CouponNotify notify coupon.
func (s *Service) CouponNotify(c context.Context, arg *model.ArgNotify) (err error) {
err = s.client.Call(c, _couponNotify, arg, _noArg)
return
}
// AllowanceList allowance list.
func (s *Service) AllowanceList(c context.Context, arg *model.ArgAllowanceList) (res []*model.CouponAllowancePanelInfo, err error) {
err = s.client.Call(c, _allowanceList, arg, &res)
return
}
// UseAllowance use allowance.
func (s *Service) UseAllowance(c context.Context, arg *model.ArgUseAllowance) (err error) {
err = s.client.Call(c, _useAllowance, arg, _noArg)
return
}
// AllowanceCount allowance count.
func (s *Service) AllowanceCount(c context.Context, arg *model.ArgAllowanceMid) (res int, err error) {
err = s.client.Call(c, _allowanceCount, arg, &res)
return
}
//ReceiveAllowance receive allowance
func (s *Service) ReceiveAllowance(c context.Context, arg *model.ArgReceiveAllowance) (res string, err error) {
err = s.client.Call(c, _receiveAllowance, arg, &res)
return
}
// PrizeCards .
func (s *Service) PrizeCards(c context.Context, arg *model.ArgCount) (res []*model.PrizeCardRep, err error) {
err = s.client.Call(c, _prizeCards, arg, &res)
return
}
// PrizeDraw .
func (s *Service) PrizeDraw(c context.Context, arg *model.ArgPrizeDraw) (res *model.PrizeCardRep, err error) {
err = s.client.Call(c, _prizeDraw, arg, &res)
return
}

View File

@@ -0,0 +1,36 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = ["rpc.go"],
importpath = "go-common/app/service/main/coupon/rpc/server",
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/rpc:go_default_library",
"//library/net/rpc/context: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,217 @@
package server
import (
"go-common/app/service/main/coupon/conf"
"go-common/app/service/main/coupon/model"
"go-common/app/service/main/coupon/service"
"go-common/library/log"
"go-common/library/net/rpc"
"go-common/library/net/rpc/context"
)
// 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)
if err := svr.Register(r); err != nil {
panic(err)
}
return
}
// Ping check connection success.
func (r *RPC) Ping(c context.Context, arg *struct{}, res *struct{}) (err error) {
return
}
// SalaryCoupon salary coupon.
func (r *RPC) SalaryCoupon(c context.Context, a *model.ArgSalaryCoupon, res *struct{}) (err error) {
return r.s.SalaryCoupon(c, a)
}
// SalaryCouponForThird salary coupon for third.
func (r *RPC) SalaryCouponForThird(c context.Context, a *model.ArgSalaryCoupon, res *model.SalaryCouponForThirdResp) (err error) {
var ct *model.SalaryCouponForThirdResp
if ct, err = r.s.SalaryCouponForThird(c, a); err == nil && ct != nil {
*res = *ct
}
return
}
// CouponPage coupon page.
func (r *RPC) CouponPage(c context.Context, arg *model.ArgRPCPage, res *model.CouponPageRPCResp) (err error) {
var (
cr *model.CouponPageRPCResp
count int64
list []*model.CouponPageResp
)
if count, list, err = r.s.CouponPage(c, arg.Mid, arg.State, arg.Pn, arg.Ps); err != nil {
log.Error("r.s.CouponPage(%d) err(%+v)", arg.Mid, err)
return
}
cr = &model.CouponPageRPCResp{
Count: count,
Res: list,
}
*res = *cr
return
}
// CouponCartoonPage coupon cartoon page.
func (r *RPC) CouponCartoonPage(c context.Context, arg *model.ArgRPCPage, res *model.CouponCartoonPageResp) (err error) {
var p *model.CouponCartoonPageResp
if p, err = r.s.CouponCartoonPage(c, arg.Mid, arg.State, arg.Pn, arg.Ps); err != nil || p == nil {
log.Error("r.s.CouponCartoonPage(%d) err(%+v)", arg.Mid, err)
return
}
*res = *p
return
}
// UsableAllowanceCoupon get usable allowance coupon.
func (r *RPC) UsableAllowanceCoupon(c context.Context, a *model.ArgAllowanceCoupon, res *model.CouponAllowancePanelInfo) (err error) {
var cr *model.CouponAllowancePanelInfo
if cr, err = r.s.UsableAllowanceCoupon(c, a.Mid, a.Pirce, a.Platform, a.ProdLimMonth, a.ProdLimRenewal); err == nil && cr != nil {
*res = *cr
}
if err != nil {
log.Error("rpc.UsableAllowanceCoupon(%+v) err(%+v)", a, err)
}
return
}
// AllowanceCouponPanel get allowance coupon info for pay panel.
func (r *RPC) AllowanceCouponPanel(c context.Context, a *model.ArgAllowanceCoupon, res *model.CouponAllowancePanelResp) (err error) {
var (
cr *model.CouponAllowancePanelResp
us []*model.CouponAllowancePanelInfo
ds []*model.CouponAllowancePanelInfo
ui []*model.CouponAllowancePanelInfo
)
if us, ds, ui, err = r.s.AllowancePanelCoupons(c, a.Mid, a.Pirce, a.Platform, a.ProdLimMonth, a.ProdLimRenewal); err != nil {
log.Error("rpc.AllowancePanelCoupons(%+v) err(%+v)", a, err)
return
}
cr = &model.CouponAllowancePanelResp{
Usables: us,
Disables: ds,
Using: ui,
}
*res = *cr
return
}
// MultiUsableAllowanceCoupon get usable allowance coupon by muti pirce.
func (r *RPC) MultiUsableAllowanceCoupon(c context.Context, a *model.ArgUsablePirces, res *map[float64]*model.CouponAllowancePanelInfo) (err error) {
if *res, err = r.s.MultiUsableAllowanceCoupon(c, a.Mid, a.Pirce, a.Platform, a.ProdLimMonth, a.ProdLimRenewal); err != nil {
log.Error("rpc.MultiUsableAllowanceCoupon(%+v) err(%+v)", a, err)
return
}
return
}
// JudgeCouponUsable judge coupon is usable.
func (r *RPC) JudgeCouponUsable(c context.Context, a *model.ArgJuageUsable, res *model.CouponAllowanceInfo) (err error) {
var cp *model.CouponAllowanceInfo
if cp, err = r.s.JudgeCouponUsable(c, a.Mid, a.Pirce, a.CouponToken, a.Platform, a.ProdLimMonth, a.ProdLimRenewal); err == nil && cp != nil {
*res = *cp
return
}
if err != nil {
log.Error("rpc.JudgeCouponUsable(%+v) err(%+v)", a, err)
}
return
}
// AllowanceInfo allowance info.
func (r *RPC) AllowanceInfo(c context.Context, a *model.ArgAllowance, res *model.CouponAllowanceInfo) (err error) {
var cp *model.CouponAllowanceInfo
if cp, err = r.s.AllowanceInfo(c, a.Mid, a.CouponToken); err == nil && cp != nil {
*res = *cp
return
}
if err != nil {
log.Error("rpc.AllowanceInfo(%+v) err(%+v)", a, err)
}
return
}
// CancelUseCoupon cancel use coupon .
func (r *RPC) CancelUseCoupon(c context.Context, a *model.ArgAllowance, res *struct{}) (err error) {
if err = r.s.CancelUseCoupon(c, a.Mid, a.CouponToken); err != nil {
log.Error("rpc.CancelUseCoupon(%+v) err(%+v)", a, err)
}
return
}
// CouponNotify notify coupon .
func (r *RPC) CouponNotify(c context.Context, a *model.ArgNotify, res *struct{}) (err error) {
if err = r.s.CouponNotify(c, a.Mid, a.OrderNo, a.State); err != nil {
log.Error("rpc.CouponNotify(%+v) err(%+v)", a, err)
}
return
}
// AllowanceList allowance list .
func (r *RPC) AllowanceList(c context.Context, a *model.ArgAllowanceList, res *[]*model.CouponAllowancePanelInfo) (err error) {
if *res, err = r.s.AllowanceList(c, a.Mid, a.State); err != nil {
log.Error("rpc.AllowanceList(%+v) err(%+v)", a, err)
}
return
}
// UseAllowance use allowance .
func (r *RPC) UseAllowance(c context.Context, a *model.ArgUseAllowance, res *struct{}) (err error) {
if err = r.s.UseAllowanceCoupon(c, a); err != nil {
log.Error("rpc.UseAllowanceCoupon(%+v) err(%+v)", a, err)
}
return
}
// AllowanceCount allowance count
func (r *RPC) AllowanceCount(c context.Context, a *model.ArgAllowanceMid, res *int) (err error) {
var rs []*model.CouponAllowanceInfo
if rs, err = r.s.AllowanceCoupon(c, &model.ArgAllowanceCoupons{
Mid: a.Mid,
State: model.NotUsed,
}); err == nil {
*res = len(rs)
}
return
}
//ReceiveAllowance receive allowance.
func (r *RPC) ReceiveAllowance(c context.Context, arg *model.ArgReceiveAllowance, res *string) (err error) {
var couponToken string
if couponToken, err = r.s.ReceiveAllowance(c, arg); err != nil {
log.Error("receive allowance(%+v) err(%+v)", arg, err)
return
}
*res = couponToken
return
}
//PrizeCards .
func (r *RPC) PrizeCards(c context.Context, arg *model.ArgCount, res *[]*model.PrizeCardRep) (err error) {
if *res, err = r.s.PrizeCards(c, arg.Mid); err != nil {
log.Error("r.s.PrizeCards(%+v) err(%+v)", arg, err)
return
}
return
}
//PrizeDraw .
func (r *RPC) PrizeDraw(c context.Context, arg *model.ArgPrizeDraw, res *model.PrizeCardRep) (err error) {
var pc = &model.PrizeCardRep{}
if pc, err = r.s.PrizeDraw(c, arg.Mid, arg.CardType); err != nil {
log.Error("r.s.PrizeDraw(%+v) err(%+v)", arg, err)
return
}
*res = *pc
return
}