rpc.go 885 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package myta
  2. import (
  3. "fmt"
  4. "github.com/go-redis/redis"
  5. "rocommon/service"
  6. )
  7. const (
  8. rankTest = "rank_test"
  9. )
  10. type Rank struct {
  11. }
  12. //member:{
  13. //ServerIndex int //来自哪个服
  14. //Name string //昵称
  15. //}
  16. type Datas struct {
  17. Member interface{} //玩家数据
  18. Score float64 //分数
  19. }
  20. type Limits struct {
  21. Page int64
  22. Limit int64
  23. }
  24. func (r *Rank) Add(data *Datas, reply *int) error {
  25. fmt.Println(data)
  26. *reply = 8
  27. key := rankTest
  28. service.GetRedis().ZAdd(key, redis.Z{Member: data.Member, Score: data.Score})
  29. return nil
  30. }
  31. func (r *Rank) GetRankInfo(l *Limits, reply *[]Datas) error {
  32. key := rankTest
  33. s, er := service.GetRedis().ZRangeWithScores(key, (l.Page-1)*l.Limit, l.Page*l.Limit).Result()
  34. if er != nil {
  35. return er
  36. }
  37. for _, v := range s {
  38. d := Datas{}
  39. d.Member = v.Member
  40. d.Score = v.Score
  41. *reply = append(*reply, d)
  42. }
  43. return nil
  44. }