浏览代码

套餐对应课程,1对多

lizhen_gitee 1 年之前
父节点
当前提交
c29b6d4df0
共有 2 个文件被更改,包括 6 次插入8 次删除
  1. 5 5
      application/api/controller/Lesson.php
  2. 1 3
      application/api/controller/Usercenter.php

+ 5 - 5
application/api/controller/Lesson.php

@@ -156,7 +156,7 @@ class Lesson extends Api
         //此课程是否还有未使用的套餐(多个包含赠送的)
         $map = [
             'o.user_id' =>$this->auth->id,
-//            'o.lesson_id' => $info['lesson_id'],
+
             'o.endtime' => ['gt',time()],
             'o.remain' => ['egt',$number], //不能只是大于0,还得大于等于报名人数
             'o.order_status' => 1,
@@ -246,13 +246,13 @@ class Lesson extends Api
             //检查已选择套餐
             $map = [
                 'user_id' =>$this->auth->id,
-                'lesson_id' => $info['lesson_id'],
+
                 'endtime' => ['gt',time()],
                 'remain' => ['gt',0],
                 'order_status' => 1,
                 'id' => $packageorder_id,
             ];
-            $package_order = Db::name('package_order')->where($map)->lock(true)->find();
+            $package_order = Db::name('package_order')->where($map)->where('find_in_set(:lesson_ids,lesson_ids)', ['lesson_ids' => $info['lesson_id']])->lock(true)->find();
             if(!$package_order){
                 Db::rollback();
                 $this->error('套餐信息不正确,请刷新重试');
@@ -405,7 +405,7 @@ class Lesson extends Api
             'order_no'    => createUniqueNo('P',$this->auth->id),
             'user_id'     => $this->auth->id,
             'package_id'  => $package_id,
-            'lesson_id'   => $package_info['lesson_id'],////////////错误
+            'lesson_ids'   => $package_info['lesson_ids'],
             'sessions'    => $package_info['sessions'],
             'starttime'   => time(),
             'days'        => $package_info['days'],
@@ -425,7 +425,7 @@ class Lesson extends Api
             $gift = $data;
 
             //订单号不换了
-            $gift['lesson_id'] = $package_info['gift_lesson_id'];
+            $gift['lesson_ids'] = $package_info['gift_lesson_id'];
             $gift['sessions']  = $package_info['gift_sessions'];
             $gift['remain']    = $package_info['gift_sessions'];
             $gift['is_gift']   = 1;

+ 1 - 3
application/api/controller/Usercenter.php

@@ -42,10 +42,8 @@ class Usercenter extends Api
         ];
         $list = Db::name('package_order')->alias('order')
             ->field('order.id,order.order_no,order.starttime,order.endtime,order.is_gift,order.sessions,order.remain,
-            p.name as package_name,p.name_en as package_name_en,
-            lesson.name,lesson.name_en')
+            p.name as package_name,p.name_en as package_name_en')
             ->join('lesson_package p','order.package_id = p.id','LEFT')
-            ->join('lesson','order.lesson_id = lesson.id','LEFT')
             ->where($map)->order('order.remain desc,order.endtime asc')
             ->autopage()->select();