Explorar el Código

服务时间修改

刘远航 hace 4 años
padre
commit
d2317decb9
Se han modificado 1 ficheros con 69 adiciones y 51 borrados
  1. 69 51
      app/Http/Controllers/Api/V2/DoctorController.php

+ 69 - 51
app/Http/Controllers/Api/V2/DoctorController.php

xqd xqd xqd xqd xqd
@@ -44,6 +44,7 @@ use App\Models\DocterServiceTimes;
 use App\Models\CallLog;
 use App\Models\ImMessage;
 use App\Models\DocterLable;
+use App\Models\SchedueFlags as Sflag;
 
 
 /**
@@ -398,7 +399,6 @@ class DoctorController extends AuthController
             if ($finds['is_chat'] == 0) {
                 if (isset($data['is_chat']) && !empty($data['is_chat'])) {
                     return out('', 500, '您未开启图文');
-
                     unset($data['is_chat']);
                 }
             } else {
@@ -409,33 +409,46 @@ class DoctorController extends AuthController
                     $serviceData = [];
                     $newData['base_price'] = $save_data['base_price'];
                     $newData['step_price'] = $save_data['step_price'];
-                    $serviceData[0]['docter_id']=$doctor_id;
-                    $serviceData[0]['type']=2;
-                    $serviceData[0]['start_time_period']=$save_data['amStartTime'];
-                    $serviceData[0]['end_time_period']=$save_data['amEndTime'];
-                    $serviceData[0]['start_time_line']=str_replace(':','',$save_data['amStartTime']);
-                    $serviceData[0]['end_time_line']=str_replace(':','',$save_data['amEndTime']);
-
-                    $serviceData[1]['docter_id']=$doctor_id;
-                    $serviceData[1]['type']=2;
-                    $serviceData[1]['start_time_period']=$save_data['pmStartTime'];
-                    $serviceData[1]['end_time_period']=$save_data['pmEndTime'];
-                    $serviceData[1]['start_time_line']=str_replace(':','',$save_data['pmStartTime']);
-                    $serviceData[1]['end_time_line']=str_replace(':','',$save_data['pmEndTime']);
-
-                    $serviceData[2]['docter_id']=$doctor_id;
-                    $serviceData[2]['type']=2;
-                    $serviceData[2]['start_time_period']=$save_data['nightStartTime'];
-                    $serviceData[2]['end_time_period']=$save_data['nightEndTime'];
-                    $serviceData[2]['start_time_line']=str_replace(':','',$save_data['nightStartTime']);
-                    $serviceData[2]['end_time_line']=str_replace(':','',$save_data['nightEndTime']);
-
                     $service_times = [
                         1 => ['amStartTime' => $save_data['amStartTime'], 'amEndTime' => $save_data['amEndTime']],
                         2 => ['pmStartTime' => $save_data['pmStartTime'], 'pmEndTime' => $save_data['pmEndTime']],
                         3 => ['nightStartTime' => $save_data['nightStartTime'], 'nightEndTime' => $save_data['nightEndTime']],
                     ];
-                    $newData['service_time'] = json_encode($service_times, JSON_UNESCAPED_UNICODE);
+                    if($save_data['amStartTime']&&$save_data['amEndTime']){
+
+                        $serviceData[0]['docter_id']=$doctor_id;
+                        $serviceData[0]['type']=2;
+                        $serviceData[0]['start_time_period']=$save_data['amStartTime'];
+                        $serviceData[0]['end_time_period']=$save_data['amEndTime'];
+                        $serviceData[0]['start_time_line']=str_replace(':','',$save_data['amStartTime']);
+                        $serviceData[0]['end_time_line']=str_replace(':','',$save_data['amEndTime']);
+                    }else{
+                        unset($service_times[1]);
+                    }
+                    if($save_data['pmStartTime']&&$save_data['pmEndTime']){
+                        $serviceData[1]['docter_id']=$doctor_id;
+                        $serviceData[1]['type']=2;
+                        $serviceData[1]['start_time_period']=$save_data['pmStartTime'];
+                        $serviceData[1]['end_time_period']=$save_data['pmEndTime'];
+                        $serviceData[1]['start_time_line']=str_replace(':','',$save_data['pmStartTime']);
+                        $serviceData[1]['end_time_line']=str_replace(':','',$save_data['pmEndTime']);
+
+                    }else{
+                        unset($service_times[2]);
+                    }
+                    if($save_data['nightStartTime']&&$save_data['nightEndTime']){
+                        $serviceData[2]['docter_id']=$doctor_id;
+                        $serviceData[2]['type']=2;
+                        $serviceData[2]['start_time_period']=$save_data['nightStartTime'];
+                        $serviceData[2]['end_time_period']=$save_data['nightEndTime'];
+                        $serviceData[2]['start_time_line']=str_replace(':','',$save_data['nightStartTime']);
+                        $serviceData[2]['end_time_line']=str_replace(':','',$save_data['nightEndTime']);
+                    }else{
+                        unset($service_times[3]);
+
+                    }
+
+                    $newData['service_time'] = !empty($service_times)?json_encode($service_times, JSON_UNESCAPED_UNICODE):'';
                     $newData['person'] = $save_data['person'];
                     $newData['type'] = $save_data['type'];
                     $pic_fins = DocterTimes::where(['docter_id' => $doctor_id, 'type' => 2])->first();
@@ -485,43 +498,48 @@ class DoctorController extends AuthController
                 if (isset($data['is_phone']) && !empty($data['is_phone'])) {
                     // 存入状态为1的操作
                     DocterServiceTimes::where(['docter_id'=>$doctor_id,'type'=>1])->delete();
-
                     $save_data = $data['is_phone'];
-
-
                     $newData = [];
                     $serviceData = [];
-
                     $newData['base_price'] = $save_data['base_price'];
                     $newData['step_price'] = $save_data['step_price'];
-
-                    $serviceData[0]['docter_id']=$doctor_id;
-                    $serviceData[0]['type']=1;
-                    $serviceData[0]['start_time_period']=$save_data['amStartTime'];
-                    $serviceData[0]['end_time_period']=$save_data['amEndTime'];
-                    $serviceData[0]['start_time_line']=str_replace(':','',$save_data['amStartTime']);
-                    $serviceData[0]['end_time_line']=str_replace(':','',$save_data['amEndTime']);
-
-                    $serviceData[1]['docter_id']=$doctor_id;
-                    $serviceData[1]['type']=1;
-                    $serviceData[1]['start_time_period']=$save_data['pmStartTime'];
-                    $serviceData[1]['end_time_period']=$save_data['pmEndTime'];
-                    $serviceData[1]['start_time_line']=str_replace(':','',$save_data['pmStartTime']);
-                    $serviceData[1]['end_time_line']=str_replace(':','',$save_data['pmEndTime']);
-
-                    $serviceData[2]['docter_id']=$doctor_id;
-                    $serviceData[2]['type']=1;
-                    $serviceData[2]['start_time_period']=$save_data['nightStartTime'];
-                    $serviceData[2]['end_time_period']=$save_data['nightEndTime'];
-                    $serviceData[2]['start_time_line']=str_replace(':','',$save_data['nightStartTime']);
-                    $serviceData[2]['end_time_line']=str_replace(':','',$save_data['nightEndTime']);
-
                     $service_times = [
                         1 => ['amStartTime' => $save_data['amStartTime'], 'amEndTime' => $save_data['amEndTime']],
                         2 => ['pmStartTime' => $save_data['pmStartTime'], 'pmEndTime' => $save_data['pmEndTime']],
                         3 => ['nightStartTime' => $save_data['nightStartTime'], 'nightEndTime' => $save_data['nightEndTime']],
                     ];
-                    $newData['service_time'] = json_encode($service_times, JSON_UNESCAPED_UNICODE);
+                    if($save_data['amStartTime']&&$save_data['amEndTime']){
+                        $serviceData[0]['docter_id']=$doctor_id;
+                        $serviceData[0]['type']=2;
+                        $serviceData[0]['start_time_period']=$save_data['amStartTime'];
+                        $serviceData[0]['end_time_period']=$save_data['amEndTime'];
+                        $serviceData[0]['start_time_line']=str_replace(':','',$save_data['amStartTime']);
+                        $serviceData[0]['end_time_line']=str_replace(':','',$save_data['amEndTime']);
+                    }else{
+                        unset($service_times[1]);
+                    }
+                    if($save_data['pmStartTime']&&$save_data['pmEndTime']){
+                        $serviceData[1]['docter_id']=$doctor_id;
+                        $serviceData[1]['type']=2;
+                        $serviceData[1]['start_time_period']=$save_data['pmStartTime'];
+                        $serviceData[1]['end_time_period']=$save_data['pmEndTime'];
+                        $serviceData[1]['start_time_line']=str_replace(':','',$save_data['pmStartTime']);
+                        $serviceData[1]['end_time_line']=str_replace(':','',$save_data['pmEndTime']);
+
+                    }else{
+                        unset($service_times[2]);
+                    }
+                    if($save_data['nightStartTime']&&$save_data['nightEndTime']){
+                        $serviceData[2]['docter_id']=$doctor_id;
+                        $serviceData[2]['type']=2;
+                        $serviceData[2]['start_time_period']=$save_data['nightStartTime'];
+                        $serviceData[2]['end_time_period']=$save_data['nightEndTime'];
+                        $serviceData[2]['start_time_line']=str_replace(':','',$save_data['nightStartTime']);
+                        $serviceData[2]['end_time_line']=str_replace(':','',$save_data['nightEndTime']);
+                    }else{
+                        unset($service_times[3]);
+                    }
+                    $newData['service_time'] = !empty($service_times)?json_encode($service_times, JSON_UNESCAPED_UNICODE):'';
                     $newData['person'] = $save_data['person'];
                     $newData['type'] = $save_data['type'];
                     // 图文咨询时间
@@ -1990,7 +2008,7 @@ class DoctorController extends AuthController
             $delWhere['schedule_type'] = 1;
             $delWhere[] = ['schedule_date','>=',date('Y-m-d',time())];
             SchedulePeriod::where($delWhere)->delete();
-            Schedule::where('docter_id', '=', $doctor_id)->whereNotIn('schedule_date',$delDate2)->delete();
+            Schedule::where(['docter_id'=>$doctor_id,'schedule_type'=>1])->whereNotIn('schedule_date',$delDate2)->delete();
             foreach ($moth_date as $kk => $vv) {
                 $schedule[$kk]['schedule_type'] = 1;
                 $schedule[$kk]['schedule_date'] = $vv['date'];