Ver Fonte

feat:订单管理->获取订单列表

刘学玺 há 4 meses atrás
pai
commit
371f5234c5

+ 1 - 1
app/Http/Controllers/Client/OrderController.php

@@ -143,7 +143,7 @@ class OrderController extends Controller
      */
     public function list()
     {
-        return $this->service->getOrderList();
+        return $this->service->getOrderList(Auth::user()->id);
     }
 
     /**

+ 8 - 0
app/Models/MemberUser.php

@@ -26,4 +26,12 @@ class MemberUser extends Model
     {
         return $this->hasMany(MemberAddress::class, 'user_id', 'id');
     }
+
+    /**
+     * 获取用户的所有订单
+     */
+    public function orders(): HasMany
+    {
+        return $this->hasMany(Order::class, 'user_id', 'id');
+    }
 }

+ 4 - 7
app/Services/Client/OrderService.php

@@ -465,16 +465,13 @@ class OrderService
     /**
      * 获取订单列表
      */
-    public function getOrderList()
+    public function getOrderList($user_id)
     {
-        $userId = Auth::id();
+        $user = MemberUser::find($user_id);
 
-        return Order::where('user_id', $userId)
+        return $user->orders()
             ->with([
-                'project:id,title,cover,price',
-                'coach:id,name,avatar',
-                'agent:id,company_name',
-                'address:id,address',
+                'coach.info:id,nickname,avatar,gender',
             ])
             ->orderBy('created_at', 'desc')
             ->paginate(10);

+ 6 - 6
routes/api.php

@@ -86,12 +86,12 @@ Route::middleware('auth:sanctum')->group(function () {
         Route::post('confirm-leave', [OrderController::class, 'confirmLeave']);
         Route::get('list', [OrderController::class, 'list']);
         Route::get('detail/{id}', [OrderController::class, 'detail']);
-        Route::post('refund/{id}', [OrderController::class, 'refund']);
-        Route::post('get-agent-config', [OrderController::class, 'getAgentConfig']);
-        Route::post('get-coach-config', [OrderController::class, 'getCoachConfig']);
-        Route::post('calculate-delivery-fee', [OrderController::class, 'calculateDeliveryFee']);
-        Route::post('calculate-order-amount', [OrderController::class, 'calculateOrderAmount']);
-        Route::post('add-time/{orderId}', [OrderController::class, 'addTime']);
+        // Route::post('refund/{id}', [OrderController::class, 'refund']);
+        // Route::post('get-agent-config', [OrderController::class, 'getAgentConfig']);
+        // Route::post('get-coach-config', [OrderController::class, 'getCoachConfig']);
+        // Route::post('calculate-delivery-fee', [OrderController::class, 'calculateDeliveryFee']);
+        // Route::post('calculate-order-amount', [OrderController::class, 'calculateOrderAmount']);
+        // Route::post('add-time/{orderId}', [OrderController::class, 'addTime']);
     });
 
 });