reward.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package main
  2. import (
  3. "math/rand"
  4. jsoniter "github.com/json-iterator/go"
  5. "github.com/mhaya/game/game_cluster/internal/mdb/eventmodels"
  6. )
  7. var (
  8. json = jsoniter.ConfigCompatibleWithStandardLibrary
  9. )
  10. func getRewardFakeData(users []*eventmodels.UserBasic) []*eventmodels.UserRewardEventContent {
  11. datas := make([]*eventmodels.UserRewardEventContent, 0, 8)
  12. for i := 0; i < count; i++ {
  13. source := rand.Intn(12) + 1
  14. addRewards := make([]eventmodels.ItemReward, 0, 8)
  15. addRewards = append(addRewards, eventmodels.ItemReward{
  16. ItemBaseType: rand.Intn(5) + 1,
  17. ItemID: rand.Intn(7) + 1,
  18. Amount: rand.Intn(100) + 1,
  19. })
  20. addRewardBytes, err := json.Marshal(addRewards)
  21. if err != nil {
  22. panic(err)
  23. }
  24. subRewards := make([]eventmodels.ItemReward, 0, 8)
  25. subRewards = append(subRewards, eventmodels.ItemReward{
  26. ItemBaseType: rand.Intn(5) + 1,
  27. ItemID: rand.Intn(7) + 1,
  28. Amount: rand.Intn(100) + 1,
  29. })
  30. subRewardBytes, err := json.Marshal(subRewards)
  31. if err != nil {
  32. panic(err)
  33. }
  34. desc := ""
  35. switch source {
  36. case 11: // SourceDraw
  37. descDraw := eventmodels.DescDraw{
  38. ID: rand.Intn(12) + 1,
  39. CurID: rand.Intn(12) + 1,
  40. Reward: addRewards,
  41. }
  42. bytes, err := json.Marshal(descDraw)
  43. if err != nil {
  44. panic(err)
  45. }
  46. desc = string(bytes)
  47. default:
  48. desc = ""
  49. }
  50. userBasic := getUserBasic(users)
  51. eventBasic := getEventBasic()
  52. datas = append(datas, &eventmodels.UserRewardEventContent{
  53. UserBasic: *userBasic,
  54. EventBasic: *eventBasic,
  55. Source: source,
  56. SourceId: rand.Intn(2) + 1,
  57. AddReward: string(addRewardBytes),
  58. SubReward: string(subRewardBytes),
  59. Desc: desc,
  60. })
  61. }
  62. return datas
  63. }