Jelajahi Sumber

Merge branch 'master' of http://47.76.126.2:3000/seven/bot-28

Your Name 5 hari lalu
induk
melakukan
62029f9ecc

+ 23 - 0
app/Console/Commands/Sport.php

@@ -98,6 +98,9 @@ class Sport extends Command
         if ($this->is_live == 0) {
             //未开始的赛事拉取
             $this->fixtures();
+
+            //世界杯赛事拉取
+            $this->leagueFixtures();
         } elseif ($this->is_live == 1) {
             //进行中的赛事,定时更新
             $this->liveFixtures();
@@ -111,6 +114,17 @@ class Sport extends Command
         }
     }
 
+    public function leagueFixtures()
+    { 
+        //体育赛事结束前几(分钟)锁盘,90分钟结束
+        $sport_locked = Config::where('field', 'sport_locked')->first()->val ?? 1;
+        //查询世界杯的赛事 
+        $data = SportClientService::fixtures(['league' => 1, 'season' => 2026]);
+        //file_put_contents('leagueFixtures.json', json_encode($data));
+        $this->updateOrCreateSport($data, $sport_locked);
+        return true;
+    }
+
     //到了比赛开始时间,但是状态还是未开始,检查比赛
     public function checkOvertimeFixtures()
     { 
@@ -243,6 +257,15 @@ class Sport extends Command
                 $sport_data['league'] = SportLeague::getLeagueName($sport_data['league_id']);
                 $tableData[] = $sport_data;
             } else {
+                if (empty($info['league'])) {
+                    $sport_data['league'] = SportLeague::getLeagueName($sport_data['league_id']);
+                }
+                if (empty($info['home_team'])) {
+                    $sport_data['home_team'] = SportTeam::getTeamName($sport_data['home_team_id']);
+                }
+                if (empty($info['guest_team'])) {
+                    $sport_data['guest_team'] = SportTeam::getTeamName($sport_data['guest_team_id']);
+                }
                 SportModel::where('data_id', $item['fixture']['id'])->update($sport_data);
             }
 

+ 11 - 0
app/Helpers/helpers.php

@@ -10,6 +10,17 @@ if (!function_exists('env')) {
     }
 }
 
+/**
+ * @notes 随机生成token值
+ * @param string $extra
+ */
+function create_token(string $extra = '')
+{
+    $salt = env('unique_identification', 'likeadmin');
+    $encryptSalt = md5( $salt . uniqid());
+    return md5($salt . $extra . time() . $encryptSalt);
+}
+
 
 if (!function_exists('list_to_tree')) {
     function list_to_tree($elements, $parentKey = "parent_id", $parentId = 0): array

+ 26 - 0
app/Http/Controllers/admin/Config.php

@@ -18,6 +18,32 @@ use App\Services\ConfigService;
 class Config extends Controller
 {
 
+    /**
+     */
+    public function setField()
+    {
+        try {
+            $params = request()->validate([
+                'field' => ['required', 'string', 'max:255'],
+                'val' => ['nullable'],
+                'remark' => ['nullable'],
+            ]);
+            $val = $params['val'] ?? '';
+            $update_data=[
+                'val' => $val,
+            ];
+            if (isset($params['remark'])) {
+                $update_data['remark'] = $params['remark'];
+            }
+            ConfigModel::updateOrCreate(['field' => $params['field']], $update_data);
+        } catch (ValidationException $e) {
+            return $this->error(HttpStatus::VALIDATION_FAILED, $e->validator->errors()->first());
+        } catch (Exception $e) {
+            return $this->error(intval($e->getCode()));
+        }
+        return $this->success();
+    }
+
     /**
      * @api {post} /admin/config/pc28Switch 游戏切换(0:pc28 1:急速28)
      * @apiGroup 配置

+ 1 - 0
routes/admin.php

@@ -177,6 +177,7 @@ Route::middleware(['admin.jwt'])->group(function () {
             Route::get('/', [Config::class, 'index']);
             Route::post('/submit', [Config::class, 'store']); // 
             Route::post('/delete', [Config::class, 'destroy']); // 删除
+            Route::post('/setField', [Config::class, 'setField']);
         });
 
         Route::prefix('/balance')->group(function () {