Browse Source

预约课程各大列表

lizhen_gitee 6 months ago
parent
commit
f06273309a
1 changed files with 199 additions and 56 deletions
  1. 199 56
      application/api/controller/Usercenter.php

+ 199 - 56
application/api/controller/Usercenter.php

@@ -119,15 +119,17 @@ class Usercenter extends Api
             'order.usernumber_sign' => ['gt',0],
         ];
         $list = Db::name('lesson_order')->alias('order')
-            ->field('order.id,order.order_amount,order.paytype,order.package_order_id,order.package_remark,order.trylesson_order_id,
-            lesson.name,lesson.name_en,
-            slot.starttime,slot.hours,slot.address,slot.coach_ids,
-            coach.nickname as coach_text'
-            )
+            ->field([
+                'order.id','order.order_amount','order.paytype','order.package_order_id','order.package_remark','order.trylesson_order_id','order.userremark','order.usernumber','order.jointype',
+                'lesson.name','lesson.name_en',
+                'slot.starttime','slot.hours','slot.address','slot.coach_ids',
+                'coach.nickname as coach_text'
+            ])
             ->join('lesson_slot slot','order.slot_id = slot.id','LEFT')
             ->join('lesson','order.lesson_id = lesson.id','LEFT')
             ->join('coach','slot.coach_ids = coach.id','LEFT')
-            ->where($map)->order('slot.starttime desc')
+            ->where($map)
+            ->order('slot.starttime desc,order.id desc')
             ->autopage()->select();
         $list = $this->list_lang($list,['name']);
 
@@ -135,7 +137,31 @@ class Usercenter extends Api
             //hours转换
             $order['hours'] = floatval($order['hours']);
 
+            //24小时内可以申请取消
+            $order['can_cancel'] = 0;
+
+            //显示时间
+            $order['showtime_text'] = $this->weektime_lang($order['starttime']);
+
+            //备注
+            if(!empty($order['userremark'])){
+                $order['userremark'] = __('备注:').$order['userremark'];
+            }else{
+                $order['userremark'] = '';
+            }
+
+            //预约情况
+            $yuyue    = $order['usernumber'] . ($order['jointype'] == 1 ? ' 人预约'  : ' 人候补');
+            $yuyue_en = $order['usernumber'] . ($order['jointype'] == 1 ? ' Booked' : ' Waitlisted');
+            $yuyue = $this->lang == 'en' ? $yuyue_en : $yuyue;
+
+            $order['coach_text'] = $yuyue.'  '.$order['coach_text'];
+
             //放入支付套餐
+            $order['package_name']      = '';
+            $order['package_name_en']   = '';
+            $order['package_showtime_text'] = '';
+
             if($order['paytype'] == 1){
                 $package_order = Db::name('package_order')->alias('order')
                     ->field('p.name,p.name_en,order.starttime,order.endtime')
@@ -143,8 +169,8 @@ class Usercenter extends Api
                     ->where('order.id',$order['package_order_id'])->find();
                 $order['package_name']      = $package_order['name'];
                 $order['package_name_en']   = $package_order['name_en'];
-                $order['package_starttime'] = $package_order['starttime'];
-                $order['package_endtime']   = $package_order['endtime'];
+                /*$order['package_starttime'] = $package_order['starttime'];
+                $order['package_endtime']   = $package_order['endtime'];*/
                 $order['package_showtime_text'] = $this->date_lang($package_order['starttime']).'-'.$this->date_lang($package_order['endtime']);
             }
             if($order['paytype'] == 4){
@@ -154,14 +180,15 @@ class Usercenter extends Api
                     ->where('order.id',$order['trylesson_order_id'])->find();
                 $order['package_name']      = $trylesson_order['name'];
                 $order['package_name_en']   = $trylesson_order['name_en'];
-                $order['package_starttime'] = $trylesson_order['starttime'];
-                $order['package_endtime']   = $trylesson_order['endtime'];
+                /*$order['package_starttime'] = $trylesson_order['starttime'];
+                $order['package_endtime']   = $trylesson_order['endtime'];*/
                 $order['package_showtime_text'] = $this->date_lang($trylesson_order['starttime']).'-'.$this->date_lang($trylesson_order['endtime']);
             }
-
-
-            //显示时间
-            $order['showtime_text'] = $this->weektime_lang($order['starttime']);
+            if($order['paytype'] == 2){
+                $order['package_name']      = '在线支付';
+                $order['package_name_en']   = 'Pay online';
+                $order['package_showtime_text'] = '';
+            }
 
         }
 
@@ -177,15 +204,17 @@ class Usercenter extends Api
             'order.order_status' => ['IN',[30,40]],//已取消
         ];
         $list = Db::name('lesson_order')->alias('order')
-            ->field('order.id,order.order_amount,order.paytype,order.package_order_id,order.package_remark,order.cancel_reason,order.usernumber,order.jointype,
-            lesson.name,lesson.name_en,
-            slot.starttime,slot.hours,slot.address,slot.coach_ids,
-            coach.nickname as coach_text'
-            )
+            ->field([
+                'order.id','order.order_amount','order.paytype','order.package_order_id','order.package_remark','order.trylesson_order_id','order.userremark','order.usernumber','order.jointype','order.cancel_reason',
+                'lesson.name','lesson.name_en',
+                'slot.starttime','slot.hours','slot.address','slot.coach_ids',
+                'coach.nickname as coach_text'
+            ])
             ->join('lesson_slot slot','order.slot_id = slot.id','LEFT')
             ->join('lesson','order.lesson_id = lesson.id','LEFT')
             ->join('coach','slot.coach_ids = coach.id','LEFT')
-            ->where($map)->order('slot.starttime desc,order.id desc')
+            ->where($map)
+            ->order('slot.starttime desc,order.id desc')
             ->autopage()->select();
         $list = $this->list_lang($list,['name']);
 
@@ -193,20 +222,18 @@ class Usercenter extends Api
             //hours转换
             $order['hours'] = floatval($order['hours']);
 
+            //24小时内可以申请取消
+            $order['can_cancel'] = 0;
+
             //显示时间
             $order['showtime_text'] = $this->weektime_lang($order['starttime']);
 
-            //放入支付套餐
-            /*if($order['paytype'] == 1){
-                $package_order = Db::name('package_order')->alias('order')
-                    ->field('p.name,p.name_en,order.starttime,order.endtime')
-                    ->join('lesson_package p','order.package_id = p.id','LEFT')
-                    ->where('order.id',$order['package_order_id'])->find();
-                $order['package_name']      = $package_order['name'];
-                $order['package_name_en']   = $package_order['name_en'];
-                $order['package_starttime'] = $package_order['starttime'];
-                $order['package_endtime']   = $package_order['endtime'];
-            }*/
+            //备注
+            if(!empty($order['userremark'])){
+                $order['userremark'] = __('备注:').$order['userremark'];
+            }else{
+                $order['userremark'] = '';
+            }
 
             //预约情况
             $yuyue    = $order['usernumber'] . ($order['jointype'] == 1 ? ' 人预约'  : ' 人候补');
@@ -215,9 +242,42 @@ class Usercenter extends Api
 
             $order['coach_text'] = $yuyue.'  '.$order['coach_text'];
 
+            //放入支付套餐
+            $order['package_name']      = '';
+            $order['package_name_en']   = '';
+            $order['package_showtime_text'] = '';
+
+            if($order['paytype'] == 1){
+                $package_order = Db::name('package_order')->alias('order')
+                    ->field('p.name,p.name_en,order.starttime,order.endtime')
+                    ->join('lesson_package p','order.package_id = p.id','LEFT')
+                    ->where('order.id',$order['package_order_id'])->find();
+                $order['package_name']      = $package_order['name'];
+                $order['package_name_en']   = $package_order['name_en'];
+                /*$order['package_starttime'] = $package_order['starttime'];
+                $order['package_endtime']   = $package_order['endtime'];*/
+                $order['package_showtime_text'] = $this->date_lang($package_order['starttime']).'-'.$this->date_lang($package_order['endtime']);
+            }
+            if($order['paytype'] == 4){
+                $trylesson_order = Db::name('trylesson_order')->alias('order')
+                    ->field('t.name,t.name_en,order.starttime,order.endtime')
+                    ->join('trylesson t','order.trylesson_id = t.id','LEFT')
+                    ->where('order.id',$order['trylesson_order_id'])->find();
+                $order['package_name']      = $trylesson_order['name'];
+                $order['package_name_en']   = $trylesson_order['name_en'];
+                /*$order['package_starttime'] = $trylesson_order['starttime'];
+                $order['package_endtime']   = $trylesson_order['endtime'];*/
+                $order['package_showtime_text'] = $this->date_lang($trylesson_order['starttime']).'-'.$this->date_lang($trylesson_order['endtime']);
+            }
+            if($order['paytype'] == 2){
+                $order['package_name']      = '在线支付';
+                $order['package_name_en']   = 'Pay online';
+                $order['package_showtime_text'] = '';
+            }
+
         }
 
-        //$list = $this->list_lang($list,['package_name']);
+        $list = $this->list_lang($list,['package_name']);
 
         $this->success(1,$list);
     }
@@ -486,15 +546,17 @@ class Usercenter extends Api
             'order.usernumber_sign' => 0,//没签到的
         ];
         $list = Db::name('lesson_order')->alias('order')
-            ->field('order.id,order.order_amount,order.paytype,order.package_order_id,order.package_remark,
-            lesson.name,lesson.name_en,
-            slot.starttime,slot.hours,slot.address,slot.coach_ids,
-            coach.nickname as coach_text'
-            )
+            ->field([
+                'order.id','order.order_amount','order.paytype','order.package_order_id','order.package_remark','order.trylesson_order_id','order.userremark','order.usernumber','order.jointype',
+                'lesson.name','lesson.name_en',
+                'slot.starttime','slot.hours','slot.address','slot.coach_ids',
+                'coach.nickname as coach_text'
+            ])
             ->join('lesson_slot slot','order.slot_id = slot.id','LEFT')
             ->join('lesson','order.lesson_id = lesson.id','LEFT')
             ->join('coach','slot.coach_ids = coach.id','LEFT')
-            ->where($map)->order('slot.starttime desc')
+            ->where($map)
+            ->order('slot.starttime desc,order.id desc')
             ->autopage()->select();
         $list = $this->list_lang($list,['name']);
 
@@ -502,24 +564,62 @@ class Usercenter extends Api
             //hours转换
             $order['hours'] = floatval($order['hours']);
 
-            //时间
+            //24小时内可以申请取消
+            $order['can_cancel'] = 0;
+
+            //显示时间
             $order['showtime_text'] = $this->weektime_lang($order['starttime']);
 
+            //备注
+            if(!empty($order['userremark'])){
+                $order['userremark'] = __('备注:').$order['userremark'];
+            }else{
+                $order['userremark'] = '';
+            }
+
+            //预约情况
+            $yuyue    = $order['usernumber'] . ($order['jointype'] == 1 ? ' 人预约'  : ' 人候补');
+            $yuyue_en = $order['usernumber'] . ($order['jointype'] == 1 ? ' Booked' : ' Waitlisted');
+            $yuyue = $this->lang == 'en' ? $yuyue_en : $yuyue;
+
+            $order['coach_text'] = $yuyue.'  '.$order['coach_text'];
+
             //放入支付套餐
-            /*if($order['paytype'] == 1){
+            $order['package_name']      = '';
+            $order['package_name_en']   = '';
+            $order['package_showtime_text'] = '';
+
+            if($order['paytype'] == 1){
                 $package_order = Db::name('package_order')->alias('order')
                     ->field('p.name,p.name_en,order.starttime,order.endtime')
                     ->join('lesson_package p','order.package_id = p.id','LEFT')
                     ->where('order.id',$order['package_order_id'])->find();
                 $order['package_name']      = $package_order['name'];
                 $order['package_name_en']   = $package_order['name_en'];
-                $order['package_starttime'] = $package_order['starttime'];
-                $order['package_endtime']   = $package_order['endtime'];
-            }*/
+                /*$order['package_starttime'] = $package_order['starttime'];
+                $order['package_endtime']   = $package_order['endtime'];*/
+                $order['package_showtime_text'] = $this->date_lang($package_order['starttime']).'-'.$this->date_lang($package_order['endtime']);
+            }
+            if($order['paytype'] == 4){
+                $trylesson_order = Db::name('trylesson_order')->alias('order')
+                    ->field('t.name,t.name_en,order.starttime,order.endtime')
+                    ->join('trylesson t','order.trylesson_id = t.id','LEFT')
+                    ->where('order.id',$order['trylesson_order_id'])->find();
+                $order['package_name']      = $trylesson_order['name'];
+                $order['package_name_en']   = $trylesson_order['name_en'];
+                /*$order['package_starttime'] = $trylesson_order['starttime'];
+                $order['package_endtime']   = $trylesson_order['endtime'];*/
+                $order['package_showtime_text'] = $this->date_lang($trylesson_order['starttime']).'-'.$this->date_lang($trylesson_order['endtime']);
+            }
+            if($order['paytype'] == 2){
+                $order['package_name']      = '在线支付';
+                $order['package_name_en']   = 'Pay online';
+                $order['package_showtime_text'] = '';
+            }
 
         }
 
-//        $list = $this->list_lang($list,['package_name']);
+        $list = $this->list_lang($list,['package_name']);
 
         $this->success(1,$list);
     }
@@ -537,7 +637,7 @@ class Usercenter extends Api
 
         $list = Db::name('lesson_order')->alias('order')
             ->field([
-                'order.id','order.order_amount','order.paytype','order.package_order_id','order.package_remark','order.userremark','order.usernumber','order.jointype',
+                'order.id','order.order_amount','order.paytype','order.package_order_id','order.package_remark','order.trylesson_order_id','order.userremark','order.usernumber','order.jointype',
                 'lesson.name','lesson.name_en',
                 'slot.starttime','slot.hours','slot.address','slot.coach_ids',
                 'coach.nickname as coach_text'
@@ -580,20 +680,41 @@ class Usercenter extends Api
             $order['coach_text'] = $yuyue.'  '.$order['coach_text'];
 
             //放入支付套餐
-            /*if($order['paytype'] == 1){
+            $order['package_name']      = '';
+            $order['package_name_en']   = '';
+            $order['package_showtime_text'] = '';
+
+            if($order['paytype'] == 1){
                 $package_order = Db::name('package_order')->alias('order')
                     ->field('p.name,p.name_en,order.starttime,order.endtime')
                     ->join('lesson_package p','order.package_id = p.id','LEFT')
                     ->where('order.id',$order['package_order_id'])->find();
                 $order['package_name']      = $package_order['name'];
                 $order['package_name_en']   = $package_order['name_en'];
-                $order['package_starttime'] = $package_order['starttime'];
-                $order['package_endtime']   = $package_order['endtime'];
-            }*/
+                /*$order['package_starttime'] = $package_order['starttime'];
+                $order['package_endtime']   = $package_order['endtime'];*/
+                $order['package_showtime_text'] = $this->date_lang($package_order['starttime']).'-'.$this->date_lang($package_order['endtime']);
+            }
+            if($order['paytype'] == 4){
+                $trylesson_order = Db::name('trylesson_order')->alias('order')
+                    ->field('t.name,t.name_en,order.starttime,order.endtime')
+                    ->join('trylesson t','order.trylesson_id = t.id','LEFT')
+                    ->where('order.id',$order['trylesson_order_id'])->find();
+                $order['package_name']      = $trylesson_order['name'];
+                $order['package_name_en']   = $trylesson_order['name_en'];
+                /*$order['package_starttime'] = $trylesson_order['starttime'];
+                $order['package_endtime']   = $trylesson_order['endtime'];*/
+                $order['package_showtime_text'] = $this->date_lang($trylesson_order['starttime']).'-'.$this->date_lang($trylesson_order['endtime']);
+            }
+            if($order['paytype'] == 2){
+                $order['package_name']      = '在线支付';
+                $order['package_name_en']   = 'Pay online';
+                $order['package_showtime_text'] = '';
+            }
 
         }
 
-        //$list = $this->list_lang($list,['package_name']);
+        $list = $this->list_lang($list,['package_name']);
 
         $this->success(1,$list);
     }
@@ -605,7 +726,7 @@ class Usercenter extends Api
         ];
         $list = Db::name('lesson_order')->alias('order')
             ->field([
-                'order.id','order.order_amount','order.paytype','order.package_order_id','order.package_remark','order.userremark','order.usernumber','order.jointype',
+                'order.id','order.order_amount','order.paytype','order.package_order_id','order.package_remark','order.trylesson_order_id','order.userremark','order.usernumber','order.jointype',
                 'lesson.name','lesson.name_en',
                 'slot.starttime','slot.hours','slot.address','slot.coach_ids',
                 'coach.nickname as coach_text'
@@ -648,20 +769,42 @@ class Usercenter extends Api
             $order['coach_text'] = $yuyue.'  '.$order['coach_text'];
 
             //放入支付套餐
-            /*if($order['paytype'] == 1){
+            $order['package_name']      = '';
+            $order['package_name_en']   = '';
+            $order['package_showtime_text'] = '';
+
+            if($order['paytype'] == 1){
                 $package_order = Db::name('package_order')->alias('order')
                     ->field('p.name,p.name_en,order.starttime,order.endtime')
                     ->join('lesson_package p','order.package_id = p.id','LEFT')
                     ->where('order.id',$order['package_order_id'])->find();
                 $order['package_name']      = $package_order['name'];
                 $order['package_name_en']   = $package_order['name_en'];
-                $order['package_starttime'] = $package_order['starttime'];
-                $order['package_endtime']   = $package_order['endtime'];
-            }*/
+                /*$order['package_starttime'] = $package_order['starttime'];
+                $order['package_endtime']   = $package_order['endtime'];*/
+                $order['package_showtime_text'] = $this->date_lang($package_order['starttime']).'-'.$this->date_lang($package_order['endtime']);
+            }
+            if($order['paytype'] == 4){
+                $trylesson_order = Db::name('trylesson_order')->alias('order')
+                    ->field('t.name,t.name_en,order.starttime,order.endtime')
+                    ->join('trylesson t','order.trylesson_id = t.id','LEFT')
+                    ->where('order.id',$order['trylesson_order_id'])->find();
+                $order['package_name']      = $trylesson_order['name'];
+                $order['package_name_en']   = $trylesson_order['name_en'];
+                /*$order['package_starttime'] = $trylesson_order['starttime'];
+                $order['package_endtime']   = $trylesson_order['endtime'];*/
+                $order['package_showtime_text'] = $this->date_lang($trylesson_order['starttime']).'-'.$this->date_lang($trylesson_order['endtime']);
+            }
+            if($order['paytype'] == 2){
+                $order['package_name']      = '在线支付';
+                $order['package_name_en']   = 'Pay online';
+                $order['package_showtime_text'] = '';
+            }
+
 
         }
 
-        //$list = $this->list_lang($list,['package_name']);
+        $list = $this->list_lang($list,['package_name']);
 
         $this->success(1,$list);
     }