Ken 1 lună în urmă
părinte
comite
0ab3a2df1f
2 a modificat fișierele cu 31 adăugiri și 36 ștergeri
  1. 10 0
      app/Models/BaseModel.php
  2. 21 36
      app/Services/FixtureService.php

+ 10 - 0
app/Models/BaseModel.php

@@ -3,8 +3,18 @@
 namespace App\Models;
 
 use Carbon\Carbon;
+use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Database\Eloquent\Model;
 
+
+/**
+ * Admin
+ * @mixin Builder
+ * @method static Builder|static where($column, $operator = null, $value = null, $boolean = 'and')
+ * @method static Builder|static create($data)
+ * @method static Builder|static insert($array)
+ *
+ */
 class BaseModel extends Model
 {
     protected function getCreatedAtAttribute($value): string

+ 21 - 36
app/Services/FixtureService.php

@@ -14,43 +14,28 @@ static function a()
         $data = Client::fixtures(['date' => $date]);
         $data = $data['response'];
         $tableData = [];
+        $status = ['NS' => 0, '1H' => 1, 'HT' => 1, '2H' => 1, 'ET' => 1, 'BT' => 1, 'P' => 1, 'SUSP' => 1, 'INT' => 1, 'LIVE' => 1, 'FT' => 2, 'AET' => 2, 'PEN' => 2, 'PST' => 3, 'CANC' => 4, 'ABD' => 4,];
         foreach ($data as $item) {
-            $status = [
-                'NS' => 0,
-                '1H' => 1,
-                'HT' => 1,
-                '2H' => 1,
-                'ET' => 1,
-                'BT' => 1,
-                'P' => 1,
-                'SUSP' => 1,
-                'INT' => 1,
-                'LIVE' => 1,
-                'FT' => 2,
-                'AET' => 2,
-                'PEN' => 2,
-                'PST' => 3,
-                'CANC' => 4,
-                'ABD' => 4,
-            ];
-            $tableData[] = [
-                'data_id' => $item['fixture']['id'],
-                'home_team_id' => $item['teams']['home']['id'],
-                'home_team_en' => $item['teams']['home']['name'],
-                'home_team'=>lang($item['teams']['home']['name']),
-                'home_team_logo' => $item['teams']['home']['logo'],
-                'guest_team_id' => $item['teams']['away']['id'],
-                'guest_team_en' => $item['teams']['away']['name'],
-                'guest_team'=>lang($item['teams']['away']['name']),
-                'guest_team_logo' => $item['teams']['away']['logo'],
-                'half_score' => "{$item['score']['halftime']['home']}-{$item['score']['halftime']['away']}",
-                'rbt' => $item['fixture']['timestamp'],
-                'score' => "{$item['goals']['home']}-{$item['goals']['away']}",
-                'league'=>lang($item['league']['name']),
-                'league_en' => $item['league']['name'],
-                'state' => $status[$item['fixture']['status']['short']],//比赛状态:0未开始1进行中2已完场3延期4取消
-                'game_time'=>$item['fixture']['timestamp'],
-            ];
+            if (!Sport::where('data_id', $item['fixture']['id'])->exists()) {
+                $tableData[] = [
+                    'data_id' => $item['fixture']['id'],
+                    'home_team_id' => $item['teams']['home']['id'],
+                    'home_team_en' => $item['teams']['home']['name'],
+                    'home_team' => lang($item['teams']['home']['name']),
+                    'home_team_logo' => $item['teams']['home']['logo'],
+                    'guest_team_id' => $item['teams']['away']['id'],
+                    'guest_team_en' => $item['teams']['away']['name'],
+                    'guest_team' => lang($item['teams']['away']['name']),
+                    'guest_team_logo' => $item['teams']['away']['logo'],
+                    'half_score' => "{$item['score']['halftime']['home']}-{$item['score']['halftime']['away']}",
+                    'rbt' => $item['fixture']['timestamp'],
+                    'score' => "{$item['goals']['home']}-{$item['goals']['away']}",
+                    'league' => lang($item['league']['name']),
+                    'league_en' => $item['league']['name'],
+                    'state' => $status[$item['fixture']['status']['short']],//比赛状态:0未开始1进行中2已完场3延期4取消
+                    'game_time' => $item['fixture']['timestamp'],
+                ];
+            }
         }
         Sport::insert($tableData);