| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package service
- import (
- "bet24.com/log"
- "bet24.com/servers/coreservice/client"
- "bet24.com/servers/coreservice/prizewheel"
- "context"
- "encoding/json"
- "github.com/pkg/errors"
- )
- func (s *Server) GetWheelPrizes(ctx context.Context, args *client.Request, reply *client.Reply) error {
- prizes := prizewheel.GetPrizes()
- if len(prizes) > 0 {
- reply.Resp.RetCode = 1
- d, _ := json.Marshal(prizes)
- reply.Resp.Data = string(d)
- }
- return nil
- }
- func (s *Server) DoWheel(ctx context.Context, args *client.Request, reply *client.Reply) error {
- var req client.PrizeWheel_req
- if err := json.Unmarshal([]byte(args.Data), &req); err != nil {
- log.Debug("Server.DoWheel unmarshal fail %v", err)
- return errors.New("unmarshal error")
- }
- var result struct {
- Prizes []*prizewheel.Prize
- ErrMsg string
- }
- result.Prizes, result.ErrMsg = prizewheel.Wheel(req.UserId, req.Times, req.NickName, req.IpAddress)
- reply.Resp.RetCode = 1
- if len(result.Prizes) == 0 {
- reply.Resp.RetCode = 0
- }
- d, _ := json.Marshal(result)
- reply.Resp.Data = string(d)
- return nil
- }
- func (s *Server) GetWheelTimes(ctx context.Context, args *client.Request, reply *client.Reply) error {
- var req client.Request_base
- if err := json.Unmarshal([]byte(args.Data), &req); err != nil {
- log.Debug("Server.GetWheelTimes unmarshal fail %v", err)
- return errors.New("unmarshal error")
- }
- var ret struct {
- Times int //已抽奖次数
- PrizeTimes int //总抽奖次数
- PrizeCost int //多少金币抽一次
- }
- ret.Times, ret.PrizeTimes, ret.PrizeCost = prizewheel.GetWheelTimes(req.UserId)
- reply.Resp.RetCode = 1
- d, _ := json.Marshal(ret)
- reply.Resp.Data = string(d)
- return nil
- }
- func (s *Server) GetPrizeRecord(ctx context.Context, args *client.Request, reply *client.Reply) error {
- record := prizewheel.GetRecord()
- reply.Resp.RetCode = 1
- d, _ := json.Marshal(record)
- reply.Resp.Data = string(d)
- return nil
- }
|