kphcdr 1 year ago
parent
commit
4e99cedb26

+ 7 - 0
app/Models/Order/Order.php

@@ -3,6 +3,7 @@
 namespace App\Models\Order;
 
 use App\Base\BaseModel;
+use App\Models\User\User;
 
 /**
  * App\Models\Order\Order
@@ -23,6 +24,7 @@ use App\Base\BaseModel;
  * @method static \Illuminate\Database\Eloquent\Builder|Order whereSource($value)
  * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Order\OrderGoods[] $goods
  * @property-read int|null                                                                $goods_count
+ * @property-read User|null                                                               $user
  */
 class Order extends BaseModel
 {
@@ -34,4 +36,9 @@ class Order extends BaseModel
     {
         return $this->hasMany(OrderGoods::class);
     }
+
+    public function user()
+    {
+        return $this->belongsTo(User::class);
+    }
 }

+ 5 - 19
app/Modules/Admin/Controllers/Admin/OrderController.php

@@ -3,34 +3,20 @@
 namespace App\Modules\Admin\Controllers\Admin;
 
 use App\Base\BaseController;
+use App\Modules\Admin\Services\OrderService;
 use Faker\Provider\Image;
 
 class OrderController extends BaseController
 {
     public function paginate()
     {
-        $data = $this->valid([
+        $params = $this->valid([
             "userinfo" => "",
-            "status" => "",
+            "goods_id" => "",
             "page_size" => "",
         ]);
-
-        return $this->ok([
-            "total" => 1,
-            "page_total" => 1,
-            "list" => [
-                [
-                    "id" => 1,
-                    "no" => "23456723",
-                    "goods_name" => "商品名称",
-                    "goods_sn" => "商品型号",
-                    "user_id" => 123,
-                    "thumb" => Image::imageUrl(),
-                    "email" => "user@example.com",
-                    "created_at" => "2023-05-05 15:44:14",
-                ],
-            ],
-        ]);
+        $paginate = app(OrderService::class)->paginate($params);
+        return $this->ok($paginate);
     }
 
     public function del()

+ 7 - 12
app/Modules/Admin/Services/OrderService.php

@@ -12,12 +12,7 @@ class OrderService extends BaseService
 {
     public function paginate($params)
     {
-        //TODO kphcdr
-        $p = Order::query()->when($params['status'], function (Builder $query) use ($params) {
-            return $query->where("status", $params['status']);
-        })->when($params['name'], function (Builder $query) use ($params) {
-            return $query->where("name", "like", "%{$params['name']}%");
-        })->orderByDesc("id")->paginate($params['page_size']);
+        $p = Order::query()->orderByDesc("id")->paginate($params['page_size']);
 
         return [
             "total" => $p->total(),
@@ -28,12 +23,12 @@ class OrderService extends BaseService
                 return [
                     "id" => $model->id,
                     "no" => $model->goods->pluck("sn")->implode("\sn"),
-                    "goods_name" => "",
-                    "goods_sn" => "商品型号",
-                    "user_id" => 123,
-                    "thumb" => $model->goods->first(),
-                    "email" => "user@example.com",
-                    "created_at" => "2023-05-05 15:44:14",
+                    "goods_name" => $firstGoods->goods->name,
+                    "goods_sn" => $firstGoods->sn,
+                    "user_id" => $model->user_id,
+                    "thumb" => $firstGoods->goods->thumb,
+                    "email" => $model->user->email,
+                    "created_at" => $model->created_at->format("Y-m-d H:i:s"),
                 ];
             }, $p->items()),
         ];