FixtureService.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Services;
  3. use App\Models\Sport;
  4. use App\Services\ApiFootball\Client;
  5. use Carbon\Carbon;
  6. class FixtureService extends BaseService
  7. {
  8. static function a()
  9. {
  10. $date = Carbon::tomorrow()->toDateString();
  11. $data = Client::fixtures(['date' => $date]);
  12. $data = $data['response'];
  13. $tableData = [];
  14. foreach ($data as $item) {
  15. $status = [
  16. 'NS' => 0,
  17. '1H' => 1,
  18. 'HT' => 1,
  19. '2H' => 1,
  20. 'ET' => 1,
  21. 'BT' => 1,
  22. 'P' => 1,
  23. 'SUSP' => 1,
  24. 'INT' => 1,
  25. 'LIVE' => 1,
  26. 'FT' => 2,
  27. 'AET' => 2,
  28. 'PEN' => 2,
  29. 'PST' => 3,
  30. 'CANC' => 4,
  31. 'ABD' => 4,
  32. ];
  33. $tableData[] = [
  34. 'data_id' => $item['fixture']['id'],
  35. 'home_team_id' => $item['teams']['home']['id'],
  36. 'home_team_en' => $item['teams']['home']['name'],
  37. 'home_team'=>lang($item['teams']['home']['name']),
  38. 'home_team_logo' => $item['teams']['home']['logo'],
  39. 'guest_team_id' => $item['teams']['away']['id'],
  40. 'guest_team_en' => $item['teams']['away']['name'],
  41. 'guest_team'=>lang($item['teams']['away']['name']),
  42. 'guest_team_logo' => $item['teams']['away']['logo'],
  43. 'half_score' => "{$item['score']['halftime']['home']}-{$item['score']['halftime']['away']}",
  44. 'rbt' => $item['fixture']['timestamp'],
  45. 'score' => "{$item['goals']['home']}-{$item['goals']['away']}",
  46. 'league'=>lang($item['league']['name']),
  47. 'league_en' => $item['league']['name'],
  48. 'state' => $status[$item['fixture']['status']['short']],//比赛状态:0未开始1进行中2已完场3延期4取消
  49. 'game_time'=>$item['fixture']['timestamp'],
  50. ];
  51. }
  52. Sport::insert($tableData);
  53. return $tableData;
  54. }
  55. }