Browse Source

酒店商家控制台

Panda 1 week ago
parent
commit
a204f3ccf4

+ 35 - 0
application/api/controller/shop/ShopHotel.php

@@ -3,6 +3,7 @@
 namespace app\api\controller\shop;
 
 use app\common\controller\Api;
+use app\common\model\BillModel;
 use app\common\model\HotelModel;
 use app\common\model\OfflineShopModel;
 use app\common\model\OfflineTypeModel;
@@ -49,6 +50,40 @@ class ShopHotel extends Api
         ]);
     }
 
+    // 订单列表
+    public function bill()
+    {
+        $params = $this->request->param();
+        $user_id = $this->auth->id;
+
+        $model = new HotelModel();
+        $info = $model->getDetail(
+            params: ['user_id' => $user_id],
+            select: ['id','invite_id','user_id','name','image','images','back_rate','address']
+        );
+        if (!$info){
+            return $this->error('未开通门店');
+        }
+
+        // 全部
+        if (empty($params['status'])){
+            $params['status_in'] = [1,2,3];
+            unset($params['status']);
+        }
+
+        $model = new BillModel();
+        $list = $model->getList(
+            params: array_merge(['shop_id'=>$info['id'],'table_name'=>'hotel_order'],$params),
+            with: [
+                'hotelorder' => function ($query) {
+                    $query->field('id,hotel_id,room_id,name,phone');
+                }
+            ]
+        );
+
+        return $this->success('success',$list);
+    }
+
     // 交易统计
     public function statistics()
     {

+ 34 - 0
application/common/model/BillModel.php

@@ -19,6 +19,14 @@ class BillModel extends BaseModel
     protected $updateTime = false;
     protected $deleteTime = false;
 
+    public function searchShopIdAttribute($query, $value, array $params)
+    {
+        if (empty($value)) {
+            return $query;
+        }
+        return $query->where('shop_id', $value);
+    }
+
     public function searchOrderNoAttribute($query, $value, array $params)
     {
         if (empty($value)) {
@@ -41,4 +49,30 @@ class BillModel extends BaseModel
         }
         return $query->where('table_name', $value);
     }
+
+    public function searchStatusAttribute($query, $value, array $params)
+    {
+        if (empty($value)) {
+            return $query;
+        }
+        return $query->where('status', $value);
+    }
+
+    public function searchStatusInAttribute($query, $value, array $params)
+    {
+        if (empty($value)) {
+            return $query;
+        }
+        return $query->whereIn('status', $value);
+    }
+
+    public function getArgsAttr($value, $data)
+    {
+        return json_decode($value, true);
+    }
+
+    public function hotelorder()
+    {
+        return $this->hasOne(HotelOrderModel::class, 'id', 'table_id');
+    }
 }