Browse Source

预约记录修改

lizhen_gitee 6 months ago
parent
commit
2b8364661f

+ 59 - 76
application/api/controller/Usercenter.php

@@ -15,6 +15,7 @@ class Usercenter extends Api
     protected $noNeedRight = ['*'];
 
     //我的配套
+    //预存配套
     public function my_package(){
         $user_status = input('user_status',1); //默认已启用
 
@@ -51,7 +52,7 @@ class Usercenter extends Api
         $this->success(1,$list);
     }
 
-    //赠课记录
+    //赠课记录,已启用的赠送配套
     public function package_gift(){
         $map = [
             'order.user_id' => $this->auth->id,
@@ -91,28 +92,19 @@ 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.trylesson_order_id,
             lesson.name,lesson.name_en,
-            slot.starttime,slot.hours,slot.address,slot.coach_ids')
-            ->join('lesson_slot slot','order.slot_id = slot.id','LEFt')
+            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')
             ->autopage()->select();
         $list = $this->list_lang($list,['name']);
 
-        //准备教练数据
-        $coach_list = Db::name('coach')->column('id,nickname');
-
         foreach($list as $key => &$order){
             //hours转换
             $order['hours'] = floatval($order['hours']);
-            //放入教练
-            $coach_text = '';
-            $coach_ids = explode(',',$order['coach_ids']);
-            foreach($coach_ids as $coach_id){
-                if(isset($coach_list[$coach_id])){
-                $coach_text .= $coach_list[$coach_id].',';
-                }
-            }
-            $order['coach_text'] = substr($coach_text,0,-1);
 
             //放入支付套餐
             if($order['paytype'] == 1){
@@ -158,28 +150,19 @@ 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.cancel_reason,
             lesson.name,lesson.name_en,
-            slot.starttime,slot.hours,slot.address,slot.coach_ids')
-            ->join('lesson_slot slot','order.slot_id = slot.id','LEFt')
+            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')
             ->autopage()->select();
         $list = $this->list_lang($list,['name']);
 
-        //准备教练数据
-        $coach_list = Db::name('coach')->column('id,nickname');
-
         foreach($list as $key => &$order){
             //hours转换
             $order['hours'] = floatval($order['hours']);
-            //放入教练
-            $coach_text = '';
-            $coach_ids = explode(',',$order['coach_ids']);
-            foreach($coach_ids as $coach_id){
-                if(isset($coach_list[$coach_id])){
-                $coach_text .= $coach_list[$coach_id].',';
-                }
-            }
-            $order['coach_text'] = substr($coach_text,0,-1);
 
             //显示时间
             $order['showtime_text'] = $this->weektime_lang($order['starttime']);
@@ -203,7 +186,7 @@ class Usercenter extends Api
         $this->success(1,$list);
     }
 
-    //取消售课预约单
+    //售课预约单 执行取消
     public function cancel_lesson_order(){
         $order_id = input('order_id',0);
 
@@ -445,28 +428,19 @@ 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,
             lesson.name,lesson.name_en,
-            slot.starttime,slot.hours,slot.address,slot.coach_ids')
-            ->join('lesson_slot slot','order.slot_id = slot.id','LEFt')
+            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')
             ->autopage()->select();
         $list = $this->list_lang($list,['name']);
 
-        //准备教练数据
-        $coach_list = Db::name('coach')->column('id,nickname');
-
         foreach($list as $key => &$order){
             //hours转换
             $order['hours'] = floatval($order['hours']);
-            //放入教练
-            $coach_text = '';
-            $coach_ids = explode(',',$order['coach_ids']);
-            foreach($coach_ids as $coach_id){
-                if(isset($coach_list[$coach_id])){
-                $coach_text .= $coach_list[$coach_id].',';
-                }
-            }
-            $order['coach_text'] = substr($coach_text,0,-1);
 
             //时间
             $order['showtime_text'] = $this->weektime_lang($order['starttime']);
@@ -502,30 +476,21 @@ 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,
+            ->field('order.id,order.order_amount,order.paytype,order.package_order_id,order.package_remark,order.userremark,order.usernumber,order.jointype,
             lesson.name,lesson.name_en,
-            slot.starttime,slot.hours,slot.address,slot.coach_ids')
-            ->join('lesson_slot slot','order.slot_id = slot.id','LEFt')
+            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')
             ->autopage()->select();
         $list = $this->list_lang($list,['name']);
 
-        //准备教练数据
-        $coach_list = Db::name('coach')->column('id,nickname');
-
         foreach($list as $key => &$order){
             //hours转换
             $order['hours'] = floatval($order['hours']);
-            //放入教练
-            $coach_text = '';
-            $coach_ids = explode(',',$order['coach_ids']);
-            foreach($coach_ids as $coach_id){
-                if(isset($coach_list[$coach_id])){
-                $coach_text .= $coach_list[$coach_id].',';
-                }
-            }
-            $order['coach_text'] = substr($coach_text,0,-1);
 
             //24小时内可以申请取消
             if($order['starttime'] - time() > 86400){
@@ -537,6 +502,16 @@ class Usercenter extends Api
             //显示时间
             $order['showtime_text'] = $this->weektime_lang($order['starttime']);
 
+            //备注
+            $order['userremark'] = __('备注:').$order['userremark'];
+
+            //预约情况
+            $yuyue = $order['usernumber'] .' 人预约' . ($order['jointype'] == 1 ? '' : '(候补)');
+            $yuyue_en = $order['usernumber'] . ($order['jointype'] == 1 ? ' booked' : 'candidate');
+            $yuyue = $this->lang == 'en' ? $yuyue_en : $yuyue;
+
+            $order['coach_text'] = $yuyue.'|'.$order['coach_text'];
+
             //放入支付套餐
             /*if($order['paytype'] == 1){
                 $package_order = Db::name('package_order')->alias('order')
@@ -563,34 +538,42 @@ class Usercenter extends Api
             'order.order_status' => 10
         ];
         $list = Db::name('lesson_order')->alias('order')
-            ->field('order.id,order.order_amount,order.paytype,order.package_order_id,order.package_remark,
+            ->field('order.id,order.order_amount,order.paytype,order.package_order_id,order.package_remark,order.userremark,order.usernumber,order.jointype,
             lesson.name,lesson.name_en,
-            slot.starttime,slot.hours,slot.address,slot.coach_ids')
-            ->join('lesson_slot slot','order.slot_id = slot.id','LEFt')
+            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')
             ->autopage()->select();
         $list = $this->list_lang($list,['name']);
 
-        //准备教练数据
-        $coach_list = Db::name('coach')->column('id,nickname');
-
         foreach($list as $key => &$order){
             //hours转换
             $order['hours'] = floatval($order['hours']);
-            //放入教练
-            $coach_text = '';
-            $coach_ids = explode(',',$order['coach_ids']);
-            foreach($coach_ids as $coach_id){
-                if(isset($coach_list[$coach_id])){
-                $coach_text .= $coach_list[$coach_id].',';
-                }
+
+            //24小时内可以申请取消
+            if($order['starttime'] - time() > 86400){
+                $order['can_cancel'] = 1;
+            }else{
+                $order['can_cancel'] = 0;
             }
-            $order['coach_text'] = substr($coach_text,0,-1);
 
             //显示时间
             $order['showtime_text'] = $this->weektime_lang($order['starttime']);
 
+            //备注
+            $order['userremark'] = __('备注:').$order['userremark'];
+
+            //预约情况
+            $yuyue = $order['usernumber'] .' 人预约' . ($order['jointype'] == 1 ? '' : '(候补)');
+            $yuyue_en = $order['usernumber'] . ($order['jointype'] == 1 ? ' booked' : 'candidate');
+            $yuyue = $this->lang == 'en' ? $yuyue_en : $yuyue;
+
+            $order['coach_text'] = $yuyue.'|'.$order['coach_text'];
+
             //放入支付套餐
             /*if($order['paytype'] == 1){
                 $package_order = Db::name('package_order')->alias('order')
@@ -635,7 +618,7 @@ class Usercenter extends Api
 
     //设置通知方式
 
-    //可以转让的、延期的配套
+    //可以转让的、延期的配套,下拉用的
     public function package_list(){
         $map = [
             'order.user_id' => $this->auth->id,
@@ -729,7 +712,7 @@ class Usercenter extends Api
         $this->success('申请成功,请等待审核');
     }
 
-    //可以申请退课的
+    //可以申请退课的,下拉用的
     public function refund_lesson_order(){
         //试课单
         /*$map = [
@@ -762,7 +745,7 @@ class Usercenter extends Api
             ->field('order.id,order.order_amount,
             lesson.name,lesson.name_en,
             slot.starttime,slot.hours,slot.endtime')
-            ->join('lesson_slot slot','order.slot_id = slot.id','LEFt')
+            ->join('lesson_slot slot','order.slot_id = slot.id','LEFT')
             ->join('lesson','order.lesson_id = lesson.id','LEFT')
             ->where($map)
             ->where($map2)

+ 1 - 1
application/api/lang/en/lesson.php

@@ -24,6 +24,6 @@ return [
     '该配套限购一次,您已经买过了' => 'This package is limited to one purchase, you have already made a purchase',
     '预约:' => 'Booked:',
     '候补:' => 'Candidate:',
-    '预约空位不足,是否转为候补?' => 'Insufficient reserved seats, should I switch to a backup?',
+    '预约空位不足,是否转为候补?' => 'Insufficient booked seats, should I switch to a candidate?',
     '没有找到足够候补人数的配套' => 'We could not find a package with enough candidates',
 ];

+ 1 - 0
application/api/lang/en/usercenter.php

@@ -13,4 +13,5 @@ return [
     '不存在的套餐订单' => 'Non existing package orders',
     '套餐剩余课时不足' => 'Insufficient remaining class hours in the package',
     '购买套餐赠送' => 'complimentary by package',
+    '备注:' => 'Remark:',
 ];

+ 5 - 0
application/api/lang/zh-cn/usercenter.php

@@ -0,0 +1,5 @@
+<?php
+
+return [
+
+];