Ken 1 month ago
parent
commit
b1eb429e37
2 changed files with 32 additions and 5 deletions
  1. 23 1
      app/Http/Controllers/Api/Sport.php
  2. 9 4
      app/Http/Controllers/Controller.php

+ 23 - 1
app/Http/Controllers/Api/Sport.php

@@ -2,13 +2,17 @@
 
 namespace App\Http\Controllers\Api;
 
+use App\Constants\HttpStatus;
 use App\Http\Controllers\Controller;
 use App\Models\Sport as SportModel;
 use App\Services\FixtureService;
+use Illuminate\Http\JsonResponse;
+use Exception;
+use Illuminate\Validation\ValidationException;
 
 class Sport extends Controller
 {
-    public function index()
+    public function index(): JsonResponse
     {
         $date = request()->input('date', date('Y-m-d'));
         $start = strtotime($date);
@@ -19,4 +23,22 @@ public function index()
             ->where("game_time", "<", $end)->count();
         return $this->success(['list' => $list, 'count' => $count]);
     }
+
+    public function odds(): JsonResponse
+    {
+        try {
+            request()->validate([
+                'data_id' => ['required', 'string', 'min:1'],
+            ]);
+            $dataId = request()->input('data_id');
+            $res = FixtureService::odds($dataId);
+        }catch (ValidationException $e) {
+            return $this->error(HttpStatus::CUSTOM_ERROR, $e->validator->errors()->first());
+        } catch (Exception $e) {
+            return $this->error($e->getCode());
+        }
+
+
+        return $this->success($res);
+    }
 }

+ 9 - 4
app/Http/Controllers/Controller.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers;
 
 use App\Constants\HttpStatus;
+use Illuminate\Http\JsonResponse;
 
 abstract class Controller
 {
@@ -16,16 +17,20 @@ protected function success($data = [], $msg = '')
         ]);
     }
 
-    protected function error($code, string $msg = '', $data = [])
+    protected function error($code, string $msg = '', $data = []): JsonResponse
     {
         $code = intval($code);
-        if ($code == 0) $code = -1;
+        if ($code === 0) $code = -1;
+        $m = __('messages.' . $code);
+        if ($msg) $m .= ":{$msg}";
+        if ($code === -3) $m = $msg;
         return response()->json([
             'code' => $code,
             'timestamp' => time(),
-            'msg' => (!empty($msg) ? lang($msg) : ''),
-
+            'msg' => $m,
             'data' => $data
         ]);
     }
+
+
 }