zilong 4 gadi atpakaļ
vecāks
revīzija
e3dfb5906b

+ 9 - 3
app/Http/Controllers/Api/V1/DocterController.php

xqd xqd
@@ -11,6 +11,7 @@ namespace App\Http\Controllers\Api\V1;
 use App\Models\Collection;
 use App\Models\Docter;
 use App\Models\DocterServiceTime;
+use App\Models\DocterSetting;
 use App\Models\Organization;
 use App\Models\Schedule;
 use App\Models\SchedulePeriod;
@@ -199,9 +200,14 @@ class DocterController extends AuthController
                     if (!empty($v1['organization'])) {
                         $v1['organization']['distance'] = get_user_distance($user, $v1['organization']['latitude'], $v1['organization']['longitude']);
                     }
-
-                    $can_appoint_num = $v['per_time_num'] - $v1['order_num'];
-                    $v1['can_appoint_num'] = $can_appoint_num < 0 ? 0 : $can_appoint_num;
+                    $docterSettings = DocterSetting::select(['service_num'])->where('docter_id', $req['docter_id'])->where('type', 1)->where('org_id', $v1['organization_id'])->first();
+                    if (empty($docterSettings)) {
+                        $v1['can_appoint_num'] = 0;
+                    }
+                    else {
+                        $can_appoint_num = $docterSettings['service_num'] - $v1['order_num'];
+                        $v1['can_appoint_num'] = $can_appoint_num < 0 ? 0 : $can_appoint_num;
+                    }
                 }
             }
         }

+ 5 - 2
app/Http/Controllers/Api/V1/OrderController.php

xqd xqd xqd
@@ -8,7 +8,6 @@
 
 namespace App\Http\Controllers\Api\V1;
 
-use App\Models\Docter;
 use App\Models\Nurse;
 use App\Models\Order;
 use App\Models\OrderNurse;
@@ -17,7 +16,6 @@ use App\Models\OrderPatient;
 use App\Models\OrderVaccine;
 use App\Models\Patient;
 use App\Models\Payment;
-use App\Models\SchedulePeriod;
 use App\Models\ServicePack;
 use App\Models\Team;
 use App\Models\TimePeriod;
@@ -70,6 +68,11 @@ class OrderController extends AuthController
             return out(null, 10011, '请输入支付密码');
         }
 
+        //图文咨询订单未结束时不能针对同一医生再次下图文订单
+        if (Order::where('docter_id', $req['docter_id'])->whereIn('order_status', [2,3])->exists()) {
+            return out(null, 10012, '您已经下过该医生的单了,并且订单还未完成');
+        }
+
         if ($req['payment_type'] == 2) {
             if ($user['balance'] < $payment_amount) {
                 return out(null, 601, '余额不足');