main.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package main
  2. import (
  3. "context"
  4. "fmt"
  5. "math/rand"
  6. "strconv"
  7. "time"
  8. mhayaTime "github.com/mhaya/extend/time"
  9. "github.com/mhaya/game/game_cluster/internal/constant"
  10. "github.com/mhaya/game/game_cluster/internal/mdb/models"
  11. "go.mongodb.org/mongo-driver/mongo"
  12. "go.mongodb.org/mongo-driver/mongo/options"
  13. "go.mongodb.org/mongo-driver/mongo/readpref"
  14. )
  15. type NameData struct {
  16. User_name string
  17. Nick_name string
  18. Balance int
  19. }
  20. func main() {
  21. uri := "mongodb://127.0.0.1:27017"
  22. dbName := "db_mhaya"
  23. o := options.Client().ApplyURI(uri)
  24. if err := o.Validate(); err != nil {
  25. fmt.Println(err)
  26. return
  27. }
  28. ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
  29. defer cancel()
  30. client, err := mongo.Connect(ctx, o)
  31. if err != nil {
  32. fmt.Println(err)
  33. return
  34. }
  35. err = client.Ping(context.Background(), readpref.Primary())
  36. if err != nil {
  37. fmt.Println(err)
  38. return
  39. }
  40. db := client.Database(dbName)
  41. // 写入提现假数据
  42. addresss := make([]string, 0, 8)
  43. for i := 0; i < 5; i++ {
  44. addresss = append(addresss, "address"+strconv.Itoa(i+1))
  45. }
  46. nameDatas := make([]*NameData, 0, 8)
  47. for i := 0; i < 5; i++ {
  48. nameDatas = append(nameDatas, &NameData{
  49. User_name: "test" + strconv.Itoa(i),
  50. Nick_name: "test" + strconv.Itoa(i),
  51. Balance: 1000000,
  52. })
  53. }
  54. for i := 0; i < 100; i++ {
  55. index := rand.Intn(len(nameDatas))
  56. nameDataObj := nameDatas[index]
  57. amount := rand.Int63n(500)
  58. nameDataObj.Balance -= int(amount)
  59. _, err = db.Collection(constant.CNameCashOutRecord).InsertOne(context.Background(), &models.CashOutRecord{
  60. UserName: nameDataObj.User_name,
  61. NickName: nameDataObj.Nick_name,
  62. Status: func() int {
  63. if rand.Int63n(3) == 1 {
  64. return 1
  65. }
  66. if rand.Int63n(3) == 2 {
  67. return 2
  68. }
  69. return 0
  70. }(), // 0:未审核 1:审核通过 2:审核失败
  71. Type: 1,
  72. AfterAmount: nameDataObj.Balance,
  73. Amount: int(amount),
  74. Address: func() string {
  75. index := rand.Intn(len(addresss))
  76. return addresss[index]
  77. }(),
  78. Withdrawal: func() int {
  79. if rand.Int63n(5) == 1 {
  80. return 1
  81. }
  82. if rand.Int63n(5) == 2 {
  83. return 2
  84. }
  85. if rand.Int63n(5) == 3 {
  86. return 3
  87. }
  88. if rand.Int63n(5) == 4 {
  89. return 4
  90. }
  91. return 0
  92. }(), // 提现 0 :未体现 1:提现成功 2:提现中 3:提现失败 4:拒绝提现
  93. CreateAt: mhayaTime.Now().Unix(),
  94. })
  95. if err != nil {
  96. fmt.Println(err)
  97. return
  98. }
  99. }
  100. }