server_rank.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package service
  2. import (
  3. "context"
  4. "encoding/json"
  5. "errors"
  6. "strconv"
  7. "bet24.com/log"
  8. "bet24.com/servers/coreservice/client"
  9. "bet24.com/servers/coreservice/rank"
  10. item "bet24.com/servers/micros/item_inventory/proto"
  11. )
  12. // 获取排行榜列表
  13. func (s *Server) GetRankList(ctx context.Context, args *client.Request, reply *client.Reply) error {
  14. var req client.RankList_req
  15. if err := json.Unmarshal([]byte(args.Data), &req); err != nil {
  16. log.Debug("Server.GetRankList unmarshal fail %v", err)
  17. return errors.New("unmarshal error")
  18. }
  19. ret, list := rank.GetRankList(req.UserId, req.RankType, req.Num)
  20. reply.Resp.RetCode = 1
  21. d, _ := json.Marshal(struct {
  22. Amount int
  23. IsGift int
  24. Awards []item.ItemPack
  25. RankList interface{}
  26. }{
  27. Amount: ret.Amount,
  28. IsGift: ret.IsGift,
  29. Awards: ret.Awards,
  30. RankList: list,
  31. })
  32. reply.Resp.Data = string(d)
  33. return nil
  34. }
  35. // 榜单历史
  36. func (s *Server) RankHistoryList(ctx context.Context, args *client.Request, reply *client.Reply) error {
  37. var req client.RankHistory_req
  38. if err := json.Unmarshal([]byte(args.Data), &req); err != nil {
  39. log.Debug("Server.RankHistoryList unmarshal fail %v", err)
  40. return errors.New("unmarshal error")
  41. }
  42. amount, ranks := rank.RankHistoryList(req.UserId, req.DateFlag)
  43. d, _ := json.Marshal(struct {
  44. Amount int
  45. RankList interface{}
  46. }{
  47. Amount: amount,
  48. RankList: ranks,
  49. })
  50. reply.Resp.RetCode = 1
  51. reply.Resp.Data = string(d)
  52. return nil
  53. }
  54. // 领取榜单奖励
  55. func (s *Server) RankAward(ctx context.Context, args *client.Request, reply *client.Reply) error {
  56. var req client.RankAward_req
  57. if err := json.Unmarshal([]byte(args.Data), &req); err != nil {
  58. log.Debug("Server.RankAward unmarshal fail %v", err)
  59. return errors.New("unmarshal error")
  60. }
  61. ret := rank.RankAward(req.UserId, req.RankType, req.DoubleFlag)
  62. reply.Resp.RetCode = 1
  63. reply.Resp.Data = string(strconv.Itoa(ret))
  64. return nil
  65. }
  66. // 榜单奖励列表
  67. func (s *Server) GetRankAwardList(ctx context.Context, args *client.Request, reply *client.Reply) error {
  68. ret := rank.GetRankAwardList()
  69. reply.Resp.RetCode = 1
  70. buf, _ := json.Marshal(ret)
  71. reply.Resp.Data = string(buf)
  72. return nil
  73. }