|
@@ -8,6 +8,7 @@
|
|
|
|
|
|
namespace App\Http\Controllers\Api\V1;
|
|
namespace App\Http\Controllers\Api\V1;
|
|
|
|
|
|
|
|
+use App\Models\DocterSetting;
|
|
use App\Models\Nurse;
|
|
use App\Models\Nurse;
|
|
use App\Models\Order;
|
|
use App\Models\Order;
|
|
use App\Models\OrderNurse;
|
|
use App\Models\OrderNurse;
|
|
@@ -17,6 +18,7 @@ use App\Models\OrderVaccine;
|
|
use App\Models\OrganizationVaccine;
|
|
use App\Models\OrganizationVaccine;
|
|
use App\Models\Patient;
|
|
use App\Models\Patient;
|
|
use App\Models\Payment;
|
|
use App\Models\Payment;
|
|
|
|
+use App\Models\SchedulePeriod;
|
|
use App\Models\ServicePack;
|
|
use App\Models\ServicePack;
|
|
use App\Models\Team;
|
|
use App\Models\Team;
|
|
use App\Models\TeamDocter;
|
|
use App\Models\TeamDocter;
|
|
@@ -230,6 +232,29 @@ class OrderController extends AuthController
|
|
return out(null, 10011, '请输入支付密码');
|
|
return out(null, 10011, '请输入支付密码');
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //检查号源
|
|
|
|
+ if ($product_type == 3) {
|
|
|
|
+ $schedulePeriod = SchedulePeriod::where('docter_id', $req['docter_id'])->where('time_period_id', $req['time_period_id'])->where('schedule_date', date('schedule_date'))->where('schedule_type', 1)->first();
|
|
|
|
+ if (empty($schedulePeriod)) {
|
|
|
|
+ return out(null, 10012, '医生无该时间段的排班');
|
|
|
|
+ }
|
|
|
|
+ $docterSettings = DocterSetting::select(['service_num'])->where('docter_id', $req['docter_id'])->where('type', 1)->first();
|
|
|
|
+ if ($docterSettings['service_num'] <= $schedulePeriod['order_sn']) {
|
|
|
|
+ return out(null, 10014, '医生该时间段已经预约满了');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ elseif (in_array($product_type, [4,5])) {
|
|
|
|
+ $schedule_type_map = [4 => 2, 5 => 3];
|
|
|
|
+ $schedulePeriod = SchedulePeriod::where('time_period_id', $req['time_period_id'])->where('schedule_date', date('schedule_date'))->where('organization_id', $req['organization_id'])->where('schedule_type', $schedule_type_map[$product_type])->first();
|
|
|
|
+ if (empty($schedulePeriod)) {
|
|
|
|
+ return out(null, 10013, '机构无该时间段的排班');
|
|
|
|
+ }
|
|
|
|
+ $docterSettings = DocterSetting::select(['service_num'])->where('org_id', $req['organization_id'])->where('type', $req['schedule_type'])->first();
|
|
|
|
+ if ($docterSettings['service_num'] <= $schedulePeriod['order_sn']) {
|
|
|
|
+ return out(null, 10015, '机构该时间段已经预约满了');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
if ($req['payment_type'] == 2) {
|
|
if ($req['payment_type'] == 2) {
|
|
if ($user['balance'] < $payment_amount) {
|
|
if ($user['balance'] < $payment_amount) {
|
|
return out(null, 601, '余额不足');
|
|
return out(null, 601, '余额不足');
|