|
@@ -251,11 +251,12 @@ class Lesson extends Api
|
|
|
$info['price'] = bcmul($info['price'],$number,2);
|
|
|
|
|
|
//此课程是否还有未使用的套餐(多个包含赠送的)
|
|
|
+ $number_hours = bcmul($number,$info['hours'],1);//每日课时按小时扣
|
|
|
$map = [
|
|
|
'o.user_id' =>$this->auth->id,
|
|
|
|
|
|
'o.endtime' => ['gt',time()],
|
|
|
- 'o.remain' => ['egt',$number], //不能只是大于0,还得大于等于报名人数
|
|
|
+ 'o.remain' => ['egt',$number_hours], //不能只是大于0,还得大于等于报名人数
|
|
|
'o.order_status' => 1,
|
|
|
];
|
|
|
$package_list = Db::name('package_order')->alias('o')
|
|
@@ -319,6 +320,7 @@ class Lesson extends Api
|
|
|
$this->error(__('预约名额只剩N名',['number'=>$num_remain]));
|
|
|
}
|
|
|
|
|
|
+ $number_hours = bcmul($number,$info['hours'],1);//每日课时按小时扣
|
|
|
$lesson_order = [
|
|
|
'order_no' => createUniqueNo('S',$this->auth->id),
|
|
|
'user_id' => $this->auth->id,
|
|
@@ -332,6 +334,7 @@ class Lesson extends Api
|
|
|
// 'updatetime' => ,
|
|
|
// 'finishtime' => ,
|
|
|
'usernumber' => $number,
|
|
|
+ 'usernumber_hours' => $number_hours,
|
|
|
'userremark' => $remark,
|
|
|
'package_order_id' => 0,
|
|
|
'package_remark' => '',// 比如:5/30,5-7/30
|
|
@@ -356,14 +359,14 @@ class Lesson extends Api
|
|
|
}
|
|
|
|
|
|
//课时不足支撑报名人数
|
|
|
- if($package_order['remain'] < $number){
|
|
|
+ if($package_order['remain'] < $number_hours){
|
|
|
Db::rollback();
|
|
|
$this->error('该套餐余额不足,可以使用其他支付方式');
|
|
|
}
|
|
|
|
|
|
//扣除一节
|
|
|
$update = [
|
|
|
- 'remain' => $package_order['remain']-$number,
|
|
|
+ 'remain' => bcsub($package_order['remain'],$number_hours,1),
|
|
|
'updatetime' => time(),
|
|
|
];
|
|
|
$rs1 = Db::name('package_order')->where('id',$packageorder_id)->update($update);
|
|
@@ -377,8 +380,8 @@ class Lesson extends Api
|
|
|
$lesson_order['order_status'] = 10;
|
|
|
$lesson_order['paytime'] = time();
|
|
|
$lesson_order['package_order_id'] = $packageorder_id;
|
|
|
- if($number > 1){
|
|
|
- $lesson_order['package_remark'] = ($package_order['sessions'] - $package_order['remain'] + 1) . '-' . ($package_order['sessions'] - $package_order['remain'] + $number) .'/'. $package_order['sessions'];
|
|
|
+ if($number_hours > 1){
|
|
|
+ $lesson_order['package_remark'] = ($package_order['sessions'] - $package_order['remain'] + 1) . '-' . ($package_order['sessions'] - $package_order['remain'] + $number_hours) .'/'. $package_order['sessions'];
|
|
|
}else{
|
|
|
$lesson_order['package_remark'] = ($package_order['sessions'] - $package_order['remain'] + 1) .'/'. $package_order['sessions'];
|
|
|
}
|