lizhen_gitee 11 ماه پیش
والد
کامیت
9cdc322d5b
2فایلهای تغییر یافته به همراه91 افزوده شده و 43 حذف شده
  1. 67 42
      application/api/controller/Wenzhen.php
  2. 24 1
      application/common.php

+ 67 - 42
application/api/controller/Wenzhen.php

@@ -187,43 +187,9 @@ class Wenzhen extends Api
         $list = list_domain_image($list,['avatar']);
 
         if(!empty($list)){
-            //订单类型
-            $ordertype_data = [
-                1 => ['name'=>'图文订单','name_en'=>'Visual Order'],
-                2 => ['name'=>'视频订单','name_en'=>'Video Order'],
-            ];
-
-            //状态备注
-            $status_data = $this->order_status_enum();
-
             //循环处理
             foreach($list as $key => $val){
-                //订单类型,辅助
-                $val['ordertype_data'] = $ordertype_data[$val['ordertype']];
-
-                //订单状态,辅助
-                $status_data_val = $status_data[$val['status']];
-
-                    //未支付订单N分钟后自动取消
-                    if($val['status'] == 0){
-                        $remain_time = $val['createtime'] + (config('site.nopay_order_autocancel_minute')*60) - time();
-                        if($remain_time > 0){
-                            $status_data_val['name'] .= ':'.Sec2Time($remain_time);
-                        }
-                    }
-
-                    //视频订单接诊后N分钟自动结束
-                    if($val['status'] == 20 && $val['ordertype'] == 2){
-                        $remain_time = $val['accept_time'] + (config('site.accept_videoorder_autofinish_minute')*60) - time();
-                        if($remain_time > 0){
-                            $status_data_val['name'] .= ':'.Sec2Time($remain_time);
-                        }
-                    }
-
-                $val['status_data'] = $status_data_val;
-
-                //
-                $list[$key] = $val;
+                $list[$key] = $this->orderinfo_appen($val);
             }
         }
 
@@ -231,36 +197,93 @@ class Wenzhen extends Api
 
     }
 
+    //单个订单,追加数据
+    private function orderinfo_appen($val){
+        //订单类型
+        $ordertype_data = [
+            1 => ['name'=>'图文订单','name_en'=>'Visual Order'],
+            2 => ['name'=>'视频订单','name_en'=>'Video Order'],
+        ];
+
+        //状态备注
+        $status_data = $this->order_status_enum();
+
+        //开始处理
+        //订单类型,辅助
+        $val['ordertype_data'] = $ordertype_data[$val['ordertype']];
+
+        //订单状态,辅助
+        $status_data_val = $status_data[$val['status']];
+
+        //未支付订单N分钟后自动取消
+        if($val['status'] == 0){
+            $remain_time = $val['createtime'] + (config('site.nopay_order_autocancel_minute')*60) - time();
+            if($remain_time > 0){
+                $status_data_val['minute'] = Sec2Time($remain_time);
+                $status_data_val['minute_en'] = Sec2Time_en($remain_time);
+            }
+        }
+
+        //视频订单接诊后N分钟自动结束
+        if($val['status'] == 20 && $val['ordertype'] == 2){
+            $remain_time = $val['accept_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);
+            }
+        }
+
+        $val['status_data'] = $status_data_val;
+
+        //处理完成,返回
+        return $val;
+    }
+
     //订单状态备注枚举
     private function order_status_enum(){
         $status_data = [
             0 =>  [
                 'name'=>'等待支付时间',
-                'name_en'=>'Waiting time for payment'
+                'name_en'=>'Waiting time for payment',
+                'minute' => '',
+                'minute_en' => '',
             ],
             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'
+                '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',
+                'minute' => '',
+                'minute_en' => '',
             ],
             20 => [
                 'name'=>'距离结束时间',
-                'name_en'=>'Time Remaining'
+                'name_en'=>'Time Remaining',
+                'minute' => '',
+                'minute_en' => '',
             ],
             30 => [
                 'name'=>'点击查看医生反馈结果',
-                'name_en'=>'Click to view the consultation results'
+                'name_en'=>'Click to view the consultation results',
+                'minute' => '',
+                'minute_en' => '',
             ],
             90 => [
                 'name'=>'您的订单未及时支付,已失效',
-                'name_en'=>'Your order was not paid on time and has expired.'
+                'name_en'=>'Your order was not paid on time and has expired.',
+                'minute' => '',
+                'minute_en' => '',
             ],
             91 => [
                 'name'=>'您的订单已申请退款',
-                'name_en'=>'Your order has been requested for a refund'
+                'name_en'=>'Your order has been requested for a refund',
+                'minute' => '',
+                'minute_en' => '',
+
             ],
             92 => [
                 'name'=>'您的订单已被退诊',
-                'name_en'=>'Your order has been returned for consultation'
+                'name_en'=>'Your order has been returned for consultation',
+                'minute' => '',
+                'minute_en' => '',
             ],
         ];
         return $status_data;
@@ -276,6 +299,8 @@ class Wenzhen extends Api
             $this->error('不存在的订单');
         }
         $wenzhen_order = info_domain_image($wenzhen_order,['feedback_images']);
+        $wenzhen_order = $this->orderinfo_appen($wenzhen_order);
+
 
         //就诊人详情
         $order_member_info = Db::name('wenzhen_order_member')->where('order_id',$order_id)->find();

+ 24 - 1
application/common.php

@@ -947,7 +947,30 @@ if(!function_exists('Sec2Time')) {
 
             $value['seconds'] = floor($time);
 
-            $t = $value['minutes'] .'分'.$value['seconds'].'秒';
+            $t = $value['minutes'] .' 分 '.$value['seconds'].' 秒';
+            return $t;
+
+        }else{
+            return '0分钟';
+        }
+    }
+}
+if(!function_exists('Sec2Time_en')) {
+    //秒 转换 日月分
+    function Sec2Time_en($time){
+        if(is_numeric($time)){
+            $value = array(
+                'minutes' => 0, 'seconds' => 0,
+            );
+
+            if($time >= 60){
+                $value['minutes'] = floor($time/60);
+                $time = ($time%60);
+            }
+
+            $value['seconds'] = floor($time);
+
+            $t = $value['minutes'] .' Minutes and '.$value['seconds'].' Seconds';
             return $t;
 
         }else{