server_purchase.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package service
  2. import (
  3. "bet24.com/log"
  4. "bet24.com/servers/coreservice/client"
  5. "bet24.com/servers/coreservice/purchase"
  6. "context"
  7. "encoding/json"
  8. "github.com/pkg/errors"
  9. )
  10. // 100K购信息(期数\元宝数量\倒计时\抽奖码集合)
  11. func (s *Server) PurchaseInfo(ctx context.Context, args *client.Request, reply *client.Reply) error {
  12. var req client.Request_base
  13. if err := json.Unmarshal([]byte(args.Data), &req); err != nil {
  14. log.Debug("Server.PurchaseInfo unmarshal fail %v", err)
  15. return errors.New("unmarshal error")
  16. }
  17. var ret struct {
  18. SN int // 期数
  19. Chip int // 元宝数量
  20. Seconds int64 // 倒计时(秒)
  21. Numbers []int // 抽奖码集合
  22. Status int // 状态(0=空闲 1=活动中 2=派奖 3=结束)
  23. GoldFee int // 金币消耗
  24. }
  25. // 获取系统信息
  26. ret.SN, ret.Chip, ret.Seconds, ret.Status, ret.GoldFee = purchase.GetSysInfo()
  27. ret.Numbers = purchase.GetUserInfo(req.UserId)
  28. reply.Resp.RetCode = 1
  29. d, _ := json.Marshal(ret)
  30. reply.Resp.Data = string(d)
  31. return nil
  32. }
  33. // 100K购抽奖(返回操作结果\抽奖码)
  34. func (s *Server) PurchaseBet(ctx context.Context, args *client.Request, reply *client.Reply) error {
  35. var req client.Request_base
  36. if err := json.Unmarshal([]byte(args.Data), &req); err != nil {
  37. log.Debug("Server.PurchaseBet unmarshal fail %v", err)
  38. return errors.New("unmarshal error")
  39. }
  40. var ret struct {
  41. RetCode int
  42. Number int
  43. }
  44. ret.RetCode, ret.Number = purchase.Bet(req.UserId, req.IpAddress)
  45. reply.Resp.RetCode = 1
  46. d, _ := json.Marshal(ret)
  47. reply.Resp.Data = string(d)
  48. return nil
  49. }