zilong 4 lat temu
rodzic
commit
6e8c9c9a5c
1 zmienionych plików z 9 dodań i 6 usunięć
  1. 9 6
      app/Http/Controllers/Api/V1/DocterController.php

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

xqd xqd xqd
@@ -194,12 +194,14 @@ class DocterController extends AuthController
         $req = request()->post();
         $this->validate(request(), [
             'docter_id' => 'required|integer',
-            'per_page' => 'integer',
             'latitude' => 'numeric',
             'longitude' => 'numeric',
         ]);
         $user = $this->user;
-        $data = Schedule::with(['schedulePeriod.timePeriod', 'schedulePeriod.organization'])->where('docter_id', $req['docter_id'])->where('schedule_type', 1)->where('schedule_day', '>=', date('Ymd'))->orderBy('schedule_day', 'asc')->paginate($req['per_page']??15)->toArray();
+
+        $show_days = DocterSetting::where('docter_id', $req['docter_id'])->where('type', 1)->value('show_days');
+        $per_page = !empty($show_days) ? $show_days : 15;
+        $data = Schedule::with(['schedulePeriod.timePeriod', 'schedulePeriod.organization'])->where('docter_id', $req['docter_id'])->where('schedule_type', 1)->where('schedule_day', '>=', date('Ymd'))->orderBy('schedule_day', 'asc')->paginate($per_page)->toArray();
         if (!empty($data)) {
             foreach ($data['data'] as $k => &$v) {
                 foreach ($v['schedule_period'] as $k1 => &$v1) {
@@ -231,13 +233,15 @@ class DocterController extends AuthController
     {
         $req = request()->post();
         $this->validate(request(), [
-            'organization_id' => 'integer',
-            'schedule_type' => 'integer',
+            'organization_id' => 'required|integer',
+            'schedule_type' => 'required|integer',
             'per_page' => 'integer',
             'latitude' => 'numeric',
             'longitude' => 'numeric',
         ]);
 
+        $docterSettings = DocterSetting::select(['service_num', 'show_days'])->where('org_id', $req['organization_id'])->where('type', $req['schedule_type'])->first();
+        $per_page = !empty($docterSettings['show_days']) ? $docterSettings['show_days'] : 15;
         $builder = Schedule::with(['schedulePeriod.timePeriod', 'schedulePeriod.organization'])->where('schedule_day', '>=', date('Ymd'));
         if (!empty($req['organization_id'])) {
             $builder->where('organization_id', $req['organization_id']);
@@ -245,9 +249,8 @@ class DocterController extends AuthController
         if (!empty($req['schedule_type'])) {
             $builder->where('schedule_type', $req['schedule_type']);
         }
-        $data = $builder->orderBy('schedule_day', 'asc')->paginate($req['per_page']??15)->toArray();
+        $data = $builder->orderBy('schedule_day', 'asc')->paginate($per_page)->toArray();
 
-        $docterSettings = DocterSetting::select(['service_num'])->where('org_id', $req['organization_id'])->where('type', $req['schedule_type'])->first();
         if (!empty($data)) {
             foreach ($data['data'] as $k => &$v) {
                 if (empty($v['schedule_period'])) {