Browse Source

医生详情就过滤掉没有排班的医生

lizhen_gitee 9 months ago
parent
commit
4b64028052

+ 16 - 31
application/api/controller/Index.php

@@ -113,12 +113,23 @@ class Index extends Api
         //视频说明
         $info['wenzhen_video_serverrule'] = config('site.wenzhen_video_serverrule');
 
+        //该医生的视频预约详情
+        if($info['video_switch'] == 1){
+            $paiban_list = $this->doctor_paiban($id,true);
+            if(empty($paiban_list)){
+                $info['video_switch'] == 2;//表示没有排班了,或已经约满
+            }
+        }
+
         $this->success(1,$info);
     }
 
     //医生排班
-    public function doctor_paiban(){
-        $doctor_id = input('doctor_id',0);
+    public function doctor_paiban($this_doctor_id = 0,$return = false){
+        $doctor_id = input('doctor_id',$this_doctor_id);
+        if(!$doctor_id){
+            $this->error();
+        }
 
         //测试临时屏蔽
 //        $list = Db::name('doctor_paiban')->where('doctor_id',$doctor_id)->where('active',1)->where('activetime','gt',time()+7200)->order('activetime asc')->select();
@@ -160,37 +171,11 @@ class Index extends Api
             }
         }
 
-        $this->success(1,$newlist);
-    }
-
-    public function doctor_paiban_bak(){
-        $doctor_id = input('doctor_id',0);
-
-        $list = Db::name('doctor_paiban')->where('doctor_id',$doctor_id)->where('active',1)->where('activetime','gt',time()+7200)->order('activetime asc')->select();
-
-        $result = [];
-        if(!empty($list)){
-            //排除接满4单的
-            $newlist = [];
-            foreach($list as $key => $val){
-                $date = date('Y-m-d',$val['activetime']);
-                if(!isset($newlist[$date])){
-                    $newlist[$date] = [];
-                }
-
-                $val['activetime_text'] = date('H:i',$val['activetime']);
-                $newlist[$date][] = $val;
-            }
-
-            foreach($newlist as $k => $v){
-                $result[] = [
-                    'date'=>$k,
-                    'child' => $v,
-                ];
-            }
+        if($return == true){
+            return $newlist;
         }
 
-        $this->success(1,$result);
+        $this->success(1,$newlist);
     }
 
 

+ 3 - 0
application/api/controller/Wenzhen.php

@@ -56,6 +56,9 @@ class Wenzhen extends Api
             if($doctor_info['typing_switch'] != 1){
                 $this->error('该医生未开通图文问诊');
             }
+            if($doctor_info['job_status'] != 1){
+                $this->error('该医生现在不在上班中');
+            }
             $price = $doctor_info['typing_price'];
         }
         if($ordertype == 2){

+ 18 - 3
application/api/controller/tvuser/Tvdoctor.php

@@ -62,7 +62,7 @@ class Tvdoctor extends Api
         $id = input('id',0);
 
         $field = [
-            'd.id','d.nickname','d.avatar','d.keshi_id','d.level_id','d.hospital','d.goodat','d.info',
+            'd.id','d.nickname','d.avatar','d.keshi_id','d.level_id','d.hospital','d.goodat','d.info','d.video_switch',
             'keshi.name as keshi_name',
             'level.name as level_name',
         ];
@@ -79,12 +79,23 @@ class Tvdoctor extends Api
         //视频说明
         $info['tv_wenzhen_video_serverrule'] = config('site.tv_wenzhen_video_serverrule');
 
+        //该医生的视频预约详情
+        if($info['video_switch'] == 1){
+            $paiban_list = $this->doctor_paiban($id,true);
+            if(empty($paiban_list)){
+                $info['video_switch'] == 2;//表示没有排班了,或已经约满
+            }
+        }
+
         $this->success(1,$info);
     }
 
     //医生排班
-    public function doctor_paiban(){
-        $doctor_id = input('doctor_id',0);
+    public function doctor_paiban($this_doctor_id = 0,$return = false){
+        $doctor_id = input('doctor_id',$this_doctor_id);
+        if(!$doctor_id){
+            $this->error();
+        }
 
         //测试临时屏蔽
         //$list = Db::name('doctor_paiban')->where('doctor_id',$doctor_id)->where('active',1)->where('activetime','gt',time()+7200)->order('activetime asc')->select();
@@ -119,6 +130,10 @@ class Tvdoctor extends Api
                 $newlist[] = date('Y-m-d H:i',$val['activetime']);
             }
         }
+        
+        if($return == true){
+            return $newlist;
+        }
 
         $this->success(1,$newlist);
     }