Browse Source

问诊订单

lizhen_gitee 10 months ago
parent
commit
36f05e603f
2 changed files with 61 additions and 20 deletions
  1. 60 20
      application/api/controller/Wenzhen.php
  2. 1 0
      application/extra/site.php

+ 60 - 20
application/api/controller/Wenzhen.php

@@ -213,8 +213,8 @@ class Wenzhen extends Api
         }
 
         $field = [
-            'order.id','order.order_no','order.createtime','order.status','order.ordertype','order.accept_time',
-            'doctor.avatar','doctor.nickname',
+            'order.id','order.order_no','order.createtime','order.status','order.ordertype','order.accept_time','order.video_time',
+            'doctor.avatar as doctor_avatar','doctor.nickname as doctor_nickname',
         ];
         $list = Db::name('wenzhen_order')->alias('order')
             ->field($field)
@@ -222,7 +222,7 @@ class Wenzhen extends Api
             ->order('order.id desc')
             ->where($where)
             ->autopage()->select();
-        $list = list_domain_image($list,['avatar']);
+        $list = list_domain_image($list,['doctor_avatar']);
 
         if(!empty($list)){
             //循环处理
@@ -263,9 +263,19 @@ class Wenzhen extends Api
             }
         }
 
-        //视频订单接诊后N分钟自动结束
-        if($val['status'] == 30 && $val['ordertype'] == 2){
-            $remain_time = $val['accept_time'] + (config('site.accept_videoorder_autofinish_minute')*60) - time();
+        //图文订单接诊后N分钟自动结束
+        if($val['status'] == 20){
+            $remain_time = $val['accept_time'] + (config('site.accept_textorder_autofinish_minute')*60) - time();
+            if($remain_time > 0){
+                $status_data_val['minute'] = Sec2Time($remain_time);
+                $status_data_val['minute_en'] = Sec2Time_en($remain_time);
+                $status_data_val['seconds'] = $remain_time;
+            }
+        }
+
+        //视频订单接通后N分钟自动结束
+        if($val['status'] == 25 && $val['ordertype'] == 2){
+            $remain_time = $val['video_time'] + (config('site.accept_videoorder_autofinish_minute')*60) - time();
             if($remain_time > 0){
                 $status_data_val['minute'] = Sec2Time($remain_time);
                 $status_data_val['minute_en'] = Sec2Time_en($remain_time);
@@ -281,6 +291,7 @@ class Wenzhen extends Api
 
     //订单状态备注枚举
     private function order_status_enum(){
+        //状态:0=未付款,3=已失效,10=待接诊,13=用户退诊,16=医生未接诊,18=医生退诊,20=已接诊,22=超时未拨打,25=视频通话中,30=问诊完成,40=已反馈
         $status_data = [
             0 =>  [
                 'name'=>'等待支付时间',
@@ -289,6 +300,13 @@ class Wenzhen extends Api
                 'minute_en' => '',
                 'seconds' => '',
             ],
+            3 =>  [
+                'name'=>'您的订单未及时支付,已失效',
+                'name_en'=>'Your order was not paid on time and has expired.',
+                'minute' => '',
+                'minute_en' => '',
+                'seconds' => '',
+            ],
             10 => [
                 'name'=>'等待医生接诊:已通知医生尽快接诊,超时自动取消订单并退款',
                 'name_en'=>'Waiting for the doctor. If not accepted within the specified time,the consultation will be automatically canceled, and a refund will be issued',
@@ -296,41 +314,63 @@ class Wenzhen extends Api
                 'minute_en' => '',
                 'seconds' => '',
             ],
+            13 => [
+                'name'=>'您的订单已申请退款',
+                'name_en'=>'Your order has been requested for a refund',
+                'minute' => '',
+                'minute_en' => '',
+                'seconds' => '',
+            ],
+            16 => [
+                'name'=>'医生未接诊',
+                'name_en'=>'Doctor Not received',
+                'minute' => '',
+                'minute_en' => '',
+                'seconds' => '',
+            ],
+            18 => [
+                'name'=>'您的订单已被退诊',
+                'name_en'=>'Your order has been returned for consultation',
+                'minute' => '',
+                'minute_en' => '',
+                'seconds' => '',
+            ],
             20 => [
-                'name'=>'距离结束时间',
-                'name_en'=>'Time Remaining',
+                'name'=>'医生已接诊,咨询中',
+                'name_en'=>'',
                 'minute' => '',
                 'minute_en' => '',
                 'seconds' => '',
             ],
-            30 => [
-                'name'=>'点击查看医生反馈结果',
-                'name_en'=>'Click to view the consultation results',
+            22 => [
+                'name'=>'医生超时未拨打视频,自动退款',
+                'name_en'=>'Time Remaining',
                 'minute' => '',
                 'minute_en' => '',
                 'seconds' => '',
             ],
-            90 => [
-                'name'=>'您的订单未及时支付,已失效',
-                'name_en'=>'Your order was not paid on time and has expired.',
+            25 => [
+                'name'=>'视频通话中',
+                'name_en'=>'Time Remaining',
                 'minute' => '',
                 'minute_en' => '',
                 'seconds' => '',
             ],
-            91 => [
-                'name'=>'您的订单已申请退款',
-                'name_en'=>'Your order has been requested for a refund',
+            30 => [
+                'name'=>'问诊完成',
+                'name_en'=>'Time Remaining',
                 'minute' => '',
                 'minute_en' => '',
                 'seconds' => '',
             ],
-            92 => [
-                'name'=>'您的订单已被退诊',
-                'name_en'=>'Your order has been returned for consultation',
+            40 => [
+                'name'=>'点击查看医生反馈结果',
+                'name_en'=>'Click to view the consultation results',
                 'minute' => '',
                 'minute_en' => '',
                 'seconds' => '',
             ],
+
         ];
         return $status_data;
     }

+ 1 - 0
application/extra/site.php

@@ -93,4 +93,5 @@ return array (
   'nopay_order_autocancel_minute' => '10',
   'accept_videoorder_autofinish_minute' => '10',
   'payorder_noaccept_autocancel_minute' => '10',
+  'accept_textorder_autofinish_minute' => '48',
 );