go-common/app/interface/main/account/service/coupon/coupon.go
2019-04-22 18:49:16 +08:00

81 lines
2.1 KiB
Go

package coupon
import (
"context"
"go-common/app/interface/main/account/conf"
v1 "go-common/app/service/main/coupon/api"
"go-common/app/service/main/coupon/model"
courpc "go-common/app/service/main/coupon/rpc/client"
)
// Service .
type Service struct {
// conf
c *conf.Config
// rpc
couRPC *courpc.Service
// coupon grpc service
coupongRPC v1.CouponClient
}
// New create service instance and return.
func New(c *conf.Config) (s *Service) {
s = &Service{
c: c,
couRPC: courpc.New(c.RPCClient2.Coupon),
}
coupongRPC, err := v1.NewClient(c.CouponClient)
if err != nil {
panic(err)
}
s.coupongRPC = coupongRPC
return
}
// AllowanceList allowance list.
func (s *Service) AllowanceList(c context.Context, mid int64, state int8) (res []*model.CouponAllowancePanelInfo, err error) {
res, err = s.couRPC.AllowanceList(c, &model.ArgAllowanceList{Mid: mid, State: state})
return
}
// CouponPage coupon list.
func (s *Service) CouponPage(c context.Context, a *model.ArgRPCPage) (res *model.CouponPageRPCResp, err error) {
res, err = s.couRPC.CouponPage(c, a)
return
}
// CouponCartoonPage coupon cartoon list.
// func (s *Service) CouponCartoonPage(c context.Context, a *model.ArgRPCPage) (res *model.CouponCartoonPageResp, err error) {
// res, err = s.couRPC.CouponCartoonPage(c, a)
// return
// }
// PrizeCards .
func (s *Service) PrizeCards(c context.Context, a *model.ArgCount) (res []*model.PrizeCardRep, err error) {
res, err = s.couRPC.PrizeCards(c, a)
return
}
// PrizeDraw .
func (s *Service) PrizeDraw(c context.Context, a *model.ArgPrizeDraw) (res *model.PrizeCardRep, err error) {
res, err = s.couRPC.PrizeDraw(c, a)
return
}
// CaptchaToken captcha token.
func (s *Service) CaptchaToken(c context.Context, a *v1.CaptchaTokenReq) (res *v1.CaptchaTokenReply, err error) {
return s.coupongRPC.CaptchaToken(c, a)
}
// UseCouponCode use coupon code.
func (s *Service) UseCouponCode(c context.Context, a *model.ArgUseCouponCode) (res *v1.UseCouponCodeResp, err error) {
return s.coupongRPC.UseCouponCode(c, &v1.UseCouponCodeReq{
Token: a.Token,
Code: a.Code,
Verify: a.Verify,
Ip: a.IP,
Mid: a.Mid,
})
}