ReportChargeTest.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?php
  2. namespace Tests\Jobs\Callback;
  3. use App\Jobs\Callback\ReportCharge;
  4. use App\Service\Util\Support\Trace\TraceContext;
  5. use Illuminate\Support\Facades\DB;
  6. use PHPUnit\Framework\TestCase;
  7. class ReportChargeTest extends \Tests\TestCase
  8. {
  9. public function testHandle()
  10. {
  11. $this->prepareData();
  12. foreach (range(1, 150) as $i) {
  13. $traceContext = new TraceContext();
  14. $reportCharge = new ReportCharge(['uid' => 1000 + $i, 'orderId' => 10000 + $i,
  15. 'traceInfo' => $traceContext->getTraceInfo()]);
  16. $reportCharge->handle();
  17. }
  18. // foreach (range(151, 163) as $i) {
  19. // $traceContext = new TraceContext();
  20. // $reportCharge = new ReportCharge(['uid' => 1000 + $i -150, 'orderId' => 10000 + $i,
  21. // 'traceInfo' => $traceContext->getTraceInfo()]);
  22. // $reportCharge->handle();
  23. // }
  24. //
  25. // foreach (range(164, 180) as $i) {
  26. // $traceContext = new TraceContext();
  27. // $reportCharge = new ReportCharge(['uid' => 1000 + $i, 'orderId' => 10000 + $i,
  28. // 'traceInfo' => $traceContext->getTraceInfo()]);
  29. // $reportCharge->handle();
  30. // }
  31. }
  32. private function prepareData() {
  33. $promotionId = 5;
  34. $optimizerId = 10;
  35. foreach(range(1, 150) as $i) {
  36. $orders[] = [
  37. 'id' => 10000 + $i,
  38. 'uid' => 1000 + $i,
  39. 'promotion_id' => $promotionId,
  40. 'user_id' => $optimizerId,
  41. 'price' => rand(60, 70),
  42. 'pay_product_id' => 1,
  43. 'status' => 'PAID',
  44. 'trade_no' => uniqid(),
  45. 'created_at' => '2023-07-04 13:'.(44 + rand(5, 10)),
  46. 'updated_at' => date('Y-m-d H:i:s'),
  47. ];
  48. $ranses[] = [
  49. 'uid' => 1000 + $i,
  50. 'ranse_id' => $promotionId,
  51. 'callback' => uniqid(),
  52. 'ranse_start_at' => '2023-07-04 13:44:01',
  53. 'ranse_end_at' => '2023-07-04 15:44:01',
  54. 'advertiser_id' => '1234568',
  55. 'adv_promotion_id' => '234',
  56. 'report_result' => '[]',
  57. 'created_at' => date('Y-m-d H:i:s'),
  58. 'updated_at' => date('Y-m-d H:i:s'),
  59. 'ranse_ip' =>'192.168.1.123',
  60. 'optimizer_uid' => 5
  61. ];
  62. }
  63. // foreach (range(151, 163) as $i) {
  64. // $orders[] = [
  65. // 'id' => 10000 + $i,
  66. // 'uid' => 1000 + $i - 150,
  67. // 'promotion_id' => $promotionId,
  68. // 'user_id' => $optimizerId,
  69. // 'price' => rand(40, 70),
  70. // 'pay_product_id' => 1,
  71. // 'status' => 'PAID',
  72. // 'trade_no' => uniqid(),
  73. // 'created_at' => '2023-07-04 13:'.(44 + rand(5, 10)),
  74. // 'updated_at' => date('Y-m-d H:i:s'),
  75. // ];
  76. // }
  77. // foreach(range(164, 180) as $i) {
  78. // $orders[] = [
  79. // 'id' => 10000 + $i,
  80. // 'uid' => 1000 + $i,
  81. // 'promotion_id' => $promotionId,
  82. // 'user_id' => $optimizerId,
  83. // 'price' => rand(40, 70),
  84. // 'pay_product_id' => 1,
  85. // 'status' => 'PAID',
  86. // 'trade_no' => uniqid(),
  87. // 'created_at' => '2023-05-19 14:44:01',
  88. // 'updated_at' => date('Y-m-d H:i:s'),
  89. // ];
  90. // $ranses[] = [
  91. // 'uid' => 1000 + $i,
  92. // 'ranse_id' => 100,
  93. // 'callback' => uniqid(),
  94. // 'ranse_start_at' => '2023-05-19 14:44:01',
  95. // 'ranse_end_at' => '2023-05-19 15:44:01',
  96. // 'advertiser_id' => '1234568',
  97. // 'adv_promotion_id' => '234',
  98. // 'report_result' => '[]',
  99. // 'created_at' => date('Y-m-d H:i:s'),
  100. // 'updated_at' => date('Y-m-d H:i:s'),
  101. // 'ranse_ip' =>'192.168.1.123',
  102. // 'optimizer_uid' => 5
  103. // ];
  104. // }
  105. DB::table('orders')->where('id', '>=', 10001)->delete();
  106. DB::table('orders')->insert($orders);
  107. DB::table('callback_report_ranse_record')->delete();
  108. // DB::table('callback_report_charge_record')->delete();
  109. DB::table('callback_report_ranse_record')->insert($ranses);
  110. }
  111. }