|
@@ -331,12 +331,13 @@ class Lesson extends Api
|
|
|
$slot_id = input('slot_id',0,'intval');
|
|
|
$number = input('number',1,'intval');
|
|
|
$remark = input('remark','','trim');
|
|
|
- $paytype = input('paytype',1,'intval');//支付类型:1=课程套餐,2=线上付款,3=购买套餐中
|
|
|
+ $paytype = input('paytype',1,'intval');//支付类型:1=课程套餐,2=线上付款,3=购买套餐中,4=试课单
|
|
|
$packageorder_id = input('packageorder_id',0,'intval');
|
|
|
+ $trylessonorder_id = input('trylessonorder_id',0,'intval');
|
|
|
if($number <= 0){
|
|
|
$this->error('预约人数错误');
|
|
|
}
|
|
|
- if(!in_array($paytype,[1,2,3])){
|
|
|
+ if(!in_array($paytype,[1,2,3,4])){
|
|
|
$this->error();
|
|
|
}
|
|
|
|
|
@@ -370,7 +371,7 @@ class Lesson extends Api
|
|
|
'lesson_id' => $info['lesson_id'],
|
|
|
'order_amount' => bcmul($info['price'],$number,2),
|
|
|
'order_status' => 0,
|
|
|
- 'paytype' => $paytype, //支付类型:1=课程套餐,2=线上付款,3=购买套餐中
|
|
|
+ 'paytype' => $paytype, //支付类型:1=课程套餐,2=线上付款,3=购买套餐中,4=试课单
|
|
|
'paytime' => 0,
|
|
|
'createtime' => time(),
|
|
|
// 'updatetime' => ,
|
|
@@ -503,6 +504,47 @@ class Lesson extends Api
|
|
|
'returntype' => 3,
|
|
|
];
|
|
|
$this->success(1,$return);
|
|
|
+ }elseif($paytype == 4){
|
|
|
+ //使用试课单
|
|
|
+ $map = [
|
|
|
+ 'id' => $trylessonorder_id,
|
|
|
+ 'user_id' =>$this->auth->id,
|
|
|
+ 'endtime' => ['gt',time()],
|
|
|
+ 'order_status' => 10,
|
|
|
+ ];
|
|
|
+ $trylesson_order = Db::name('trylesson_order')->where($map)->where('find_in_set(:lesson_ids,lesson_ids)', ['lesson_ids' => $info['lesson_id']])->lock(true)->find();
|
|
|
+ if(!$trylesson_order){
|
|
|
+ Db::rollback();
|
|
|
+ $this->error('试课信息不正确,请刷新重试');
|
|
|
+ }
|
|
|
+
|
|
|
+ //修改预约单数据
|
|
|
+ $lesson_order['order_amount'] = 0;
|
|
|
+ $lesson_order['order_status'] = 10;
|
|
|
+ $lesson_order['paytime'] = time();
|
|
|
+ $lesson_order['trylesson_order_id'] = $trylessonorder_id;
|
|
|
+
|
|
|
+ //预约单写入
|
|
|
+ $lesson_order_id = Db::name('lesson_order')->insertGetId($lesson_order);
|
|
|
+ if(!$lesson_order_id){
|
|
|
+ Db::rollback();
|
|
|
+ $this->error('预约失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ //改掉试课单状态
|
|
|
+ $update = [
|
|
|
+ 'order_status' => 20,
|
|
|
+ 'updatetime' => time(),
|
|
|
+ 'lesson_order_id' => $lesson_order_id,
|
|
|
+ ];
|
|
|
+ $rs1 = Db::name('trylesson_order')->where('id',$trylessonorder_id)->update($update);
|
|
|
+ if($rs1 === false){
|
|
|
+ Db::rollback();
|
|
|
+ $this->error('扣除套餐余额失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ Db::commit();
|
|
|
+ $this->success('预约成功',['returntype'=>4]);
|
|
|
}
|
|
|
}
|
|
|
|