zilong 4 years ago
parent
commit
411d610fa3
2 changed files with 38 additions and 1 deletions
  1. 28 0
      app/Http/Controllers/Api/V1/OrderController.php
  2. 10 1
      app/Models/OrderPack.php

+ 28 - 0
app/Http/Controllers/Api/V1/OrderController.php

@@ -8,6 +8,7 @@
 
 
 namespace App\Http\Controllers\Api\V1;
 namespace App\Http\Controllers\Api\V1;
 
 
+use App\Models\Docter;
 use App\Models\Nurse;
 use App\Models\Nurse;
 use App\Models\Order;
 use App\Models\Order;
 use App\Models\OrderNurse;
 use App\Models\OrderNurse;
@@ -18,6 +19,7 @@ use App\Models\Patient;
 use App\Models\Payment;
 use App\Models\Payment;
 use App\Models\ServicePack;
 use App\Models\ServicePack;
 use App\Models\Team;
 use App\Models\Team;
+use App\Models\TeamDocter;
 use App\Models\TimePeriod;
 use App\Models\TimePeriod;
 use App\Models\User;
 use App\Models\User;
 use App\Models\UserCoupon;
 use App\Models\UserCoupon;
@@ -688,4 +690,30 @@ class OrderController extends AuthController
 
 
         return out();
         return out();
     }
     }
+
+    public function orderPackPayList()
+    {
+        $req = request()->post();
+        $this->validate(request(), [
+            'docter_id' => 'required|integer',
+        ]);
+        $user = $this->user;
+
+        $orderPacks = OrderPack::where('user_id', $user['id'])->where('end_time', '>', time())->get()->toArray();
+        if (!empty($orderPacks)) {
+            foreach ($orderPacks as $k => $v) {
+                if ($v['usable_status'] == 0) {
+                    unset($orderPacks[$k]);
+                }
+                if (!empty($v['team_id'])) {
+                    if (!TeamDocter::whereIn('team_id', $v['team_id'])->where('docter_id', $req['docter_id'])->exists()) {
+                        unset($orderPacks[$k]);
+                    }
+                }
+            }
+            $orderPacks = array_values($orderPacks);
+        }
+
+        return out($orderPacks);
+    }
 }
 }

+ 10 - 1
app/Models/OrderPack.php

@@ -10,7 +10,7 @@ namespace App\Models;
 
 
 class OrderPack extends BaseModel
 class OrderPack extends BaseModel
 {
 {
-    protected $appends = ['label_texts'];
+    protected $appends = ['label_texts', 'usable_status'];
     protected $casts = [
     protected $casts = [
         'label' => 'json',
         'label' => 'json',
         'team_id' => 'json'
         'team_id' => 'json'
@@ -39,6 +39,15 @@ class OrderPack extends BaseModel
         return $data;
         return $data;
     }
     }
 
 
+    public function getUsableStatusAttribute()
+    {
+        if ($this->phone_minutes == 0 && $this->chat_num == 0 && $this->appoint_num == 0 && $this->vaccine_limit_amount == 0 && $this->nurses_limit_amount == 0) {
+            return 0;
+        }
+
+        return 1;
+    }
+
     public static function checkUserServicePack($order_pack_id, $user_id, $product_type, $payment_amount)
     public static function checkUserServicePack($order_pack_id, $user_id, $product_type, $payment_amount)
     {
     {
         $data = self::where('id', $order_pack_id)->where('user_id', $user_id)->first();
         $data = self::where('id', $order_pack_id)->where('user_id', $user_id)->first();