lip 16 часов назад
Родитель
Сommit
634e4a97b3

+ 60 - 0
app/Http/Controllers/admin/UserFeedback.php

@@ -0,0 +1,60 @@
+<?php
+
+namespace App\Http\Controllers\admin;
+
+use App\Constants\HttpStatus;
+use App\Http\Controllers\Controller;
+use Exception;
+
+use App\Models\UserFeedback as UserFeedbackModel;
+
+class UserFeedback extends Controller
+{
+
+    /**
+     * 用户反馈列表
+     */
+    public function list()
+    {
+        try {
+            $params = request()->validate([
+                'page' => ['nullable', 'integer', 'min:1'],
+                'limit' => ['nullable', 'integer', 'min:1'],
+                'user_id' => ['nullable'],
+                'username' => ['nullable'],
+                'email' => ['nullable'],
+            ]);
+            $page = request()->input('page', 1);
+            $limit = request()->input('limit', 15);
+
+            $query = new UserFeedbackModel;
+            if (!empty($params['user_id'])) {
+                $query = $query->where('user_id', $params['user_id']);
+            }
+            if (!empty($params['email'])) {
+                $query = $query->where('email', $params['email']);
+            }
+            if (!empty($params['username'])) {
+                $query = $query->where('username', 'like', "%{$params['username']}%");
+            }
+            if (!empty($params['start_time'])) {
+                $startTime = $params['start_time'] . " 00:00:00";
+                $query = $query->where('created_at', '>=', $startTime);
+            }
+            if (!empty($params['end_time'])) {
+                $endTime = $params['end_time'] . " 23:59:59";
+                $query = $query->where('updated_at', '<=', $endTime);
+            }
+            $count = $query->count();
+            $list = $query
+                ->forPage($page, $limit)
+                ->orderByDesc('created_at')
+                ->get();
+        } catch (Exception $e) {
+            return $this->error(HttpStatus::CUSTOM_ERROR,$e->getMessage());
+        }
+        return $this->success(['total' => $count, 'data' => $list]);
+
+    }
+
+}

+ 11 - 0
app/Models/UserFeedback.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+class UserFeedback extends BaseModel
+{
+    protected $table = 'user_feedback';
+    protected $fillable = ['username', 'email', 'content'];
+    protected $hidden = [];
+
+}

+ 6 - 0
app/Services/SportClientService.php

@@ -115,6 +115,12 @@ class SportClientService
         return self::get(1, 'fixtures/statistics', $params);
     }
 
+    //足球 - 赛事预测
+    public static function predictions($params = [])
+    {
+        return self::get(1, 'predictions', $params);
+    }
+
 
     /**********篮球**************** */
     //篮球 - 赛事

+ 5 - 0
routes/admin.php

@@ -37,6 +37,7 @@ use App\Http\Controllers\admin\Sport;
 use App\Http\Controllers\admin\Level;
 use App\Http\Controllers\admin\YueBao;
 use App\Http\Controllers\admin\RechargeChannel;
+use App\Http\Controllers\admin\UserFeedback;
 
 Route::post('/login', [Admin::class, 'login']);
 Route::get('/test', [Wallet::class, 'test']);
@@ -228,6 +229,10 @@ Route::middleware(['admin.jwt'])->group(function () {
 
         });
 
+        Route::prefix('/userFeedback')->group(function () {
+            Route::get('/list', [UserFeedback::class, 'list']);
+        });
+
         Route::prefix('/menu')->group(function () {
             Route::get('/', [Menu::class, 'index']);
             Route::post('/submit', [Menu::class, 'store']);