Browse Source

课时详情是否有可用套餐,课时申请报名

lizhen_gitee 1 year ago
parent
commit
5982dedc23
1 changed files with 21 additions and 4 deletions
  1. 21 4
      application/api/controller/Lesson.php

+ 21 - 4
application/api/controller/Lesson.php

@@ -131,11 +131,17 @@ class Lesson extends Api
 
     //课时申请报名
     public function slot_apply(){
-        $slot_id = input('slot_id',0);
+        $slot_id = input('slot_id',0,'intval');
         $number  = input('number',1,'intval');
         $remark  = input('remark','','trim');
         $paytype = input('paytype',1,'intval');//支付类型:1=课程套餐,2=线上付款,3=购买套餐中
-        $packageorder_id = input('packageorder_id',0);
+        $packageorder_id = input('packageorder_id',0,'intval');
+        if($number <= 0){
+            $this->error('报名人数错误');
+        }
+        if(!in_array($paytype,[1,2,3])){
+            $this->error();
+        }
 
         //课时
         $info = Db::name('lesson_slot')->alias('slot')
@@ -206,7 +212,11 @@ class Lesson extends Api
             $lesson_order['order_status'] = 10;
             $lesson_order['paytime'] = time();
             $lesson_order['package_order_id'] = $packageorder_id;
-            $lesson_order['package_remark'] = $package_order['remain']+1 . '-' . $package_order['remain']+$number .'/'. $package_order['sessions'];
+            if($number > 1){
+                $lesson_order['package_remark'] = ($package_order['sessions'] - $package_order['remain'] + 1) . '-' . ($package_order['sessions'] - $package_order['remain'] + $number) .'/'. $package_order['sessions'];
+            }else{
+                $lesson_order['package_remark'] = $package_order['sessions']-$package_order['remain']+1 .'/'. $package_order['sessions'];
+            }
 
             //预约单写入
             $lesson_order_id = Db::name('lesson_order')->insertGetId($lesson_order);
@@ -261,6 +271,12 @@ class Lesson extends Api
                 Db::rollback();
                 $this->error('预约失败');
             }
+
+            Db::commit();
+
+            //去购买套餐,参数代入过去
+
+            $this->success(1,$lesson_order_id);
         }
     }
 
@@ -300,6 +316,7 @@ class Lesson extends Api
     //下单购买售课套餐
     public function package_buy(){
         $package_id = input('package_id',0);
+        $lesson_order_id = input('lesson_order_id',0,'intval');//预约单id
 
         $package_info = Db::name('lesson_package')->where('id',$package_id)->find();
 
@@ -346,7 +363,7 @@ class Lesson extends Api
         $pay_order['order_status'] = 0;
         $pay_order['table_name'] = 'package_order';
         $pay_order['table_id'] = 0;
-        $pay_order['args'] = '';
+        $pay_order['args'] = json_encode(['lesson_order_id'=>$lesson_order_id]);//用来支付完成回调时,扣除N节课,并改掉预约单的状态
 
         //入库
         Db::startTrans();