|
@@ -36,22 +36,26 @@ class Course extends Api{
|
|
|
// 检查登录
|
|
|
$uid = $this->checkLogin();
|
|
|
// 接收参数
|
|
|
- $ordersProductId = request('orders_product_id','');
|
|
|
- $scheduleId = request('schedule_id','');
|
|
|
- $courseId = request('course_id','');
|
|
|
+ $scheduleId = (int)request('schedule_id','');
|
|
|
+ $courseId = (int)request('course_id','');
|
|
|
//订单课程预约信息
|
|
|
- $ordersProductInfo = $OrdersProduct->query()->whereColumn('course_number','>','reservation_number')->where('course_id','=',$courseId)->first();
|
|
|
-
|
|
|
+ $ordersProductInfo = $OrdersProduct->query()
|
|
|
+ ->whereColumn('course_number','>','reservation_number')
|
|
|
+ ->where([['course_id','=',$courseId],['custom_uid','=',$uid],['status','=',2]])
|
|
|
+ ->first();
|
|
|
if (!$ordersProductInfo)
|
|
|
- return json_send(['code'=>'406','msg'=>'您还没购买课程','data'=>['error'=>'您还没购买课程']]);
|
|
|
+ return json_send(['code'=>'error','msg'=>'您还没购买课程','data'=>['error'=>'您还没购买课程']]);
|
|
|
if ($ordersProductInfo['course_number'] <= $ordersProductInfo['reservation_number'])
|
|
|
return json_send(['code'=>'error','msg'=>'您购买的课程节数已用完','data'=>['error'=>'您购买的课程节数已用完']]);
|
|
|
+ $ordersProductId = (int)$ordersProductInfo['id'];
|
|
|
//上课表信息
|
|
|
$courseScheduleInfo = $CourseSchedule->query()->where('id','=',$scheduleId)->first();
|
|
|
if (!$courseScheduleInfo)
|
|
|
return json_send(['code'=>'error','msg'=>'预约课程不存在','data'=>['error'=>'预约课程不存在']]);
|
|
|
if ($courseScheduleInfo['course_number'] <= $ordersProductInfo['reservation_number'])
|
|
|
return json_send(['code'=>'error','msg'=>'此时段课程已预满','data'=>['error'=>'此时段课程已预满']]);
|
|
|
+ if ($courseScheduleInfo['start_time'] <= time())
|
|
|
+ return json_send(['code'=>'error','msg'=>'已过上课时间','data'=>['error'=>'已过上课时间']]);
|
|
|
$data = [
|
|
|
'orders_product_id' => $ordersProductId,
|
|
|
'schedule_id' => $scheduleId,
|
|
@@ -67,10 +71,10 @@ class Course extends Api{
|
|
|
// 写入数据
|
|
|
try {
|
|
|
// 更新订单预约数据
|
|
|
- $update = $OrdersProduct->query()->where('id','=',$ordersProductId)->update(['reservation_number'=>$ordersProductInfo['reservation_number']+1]);
|
|
|
+ $update = $OrdersProduct->query()->where('id','=',$ordersProductInfo['id'])->increment('reservation_number');
|
|
|
if (!$update)
|
|
|
// 返回结果
|
|
|
- return json_send(['code'=>'success','msg'=>'预约失败','data'=>['id'=>null]]);
|
|
|
+ return json_send(['code'=>'error','msg'=>'预约失败','data'=>['id'=>$ordersProductId,'error'=>'更新订单预约数据']]);
|
|
|
// 更新课程表预约数据
|
|
|
$updateSchedule = $CourseSchedule->query()->where('id','=',$scheduleId)->update(['reservation_number'=>$courseScheduleInfo['reservation_number']+1]);
|
|
|
if (!$updateSchedule){
|
|
@@ -176,7 +180,7 @@ class Course extends Api{
|
|
|
['course_schedule.end_time','<',$end],
|
|
|
];
|
|
|
// 查询状态
|
|
|
- if( $status ) $map[] = ['course_schedule.status','=',$status];
|
|
|
+ $map[] = ['course_schedule.status','=',$status];
|
|
|
$select = [
|
|
|
'course_schedule.id',
|
|
|
'course_schedule.course_id',
|
|
@@ -198,7 +202,7 @@ class Course extends Api{
|
|
|
->join('course','course_schedule.course_id','=','course.id')
|
|
|
->join('course_teacher','course_schedule.teacher_id','=','course_teacher.id')
|
|
|
->where($map)
|
|
|
- ->orderByDesc('course_schedule.start_time')
|
|
|
+ ->orderBy('course_schedule.start_time')
|
|
|
->select($select)
|
|
|
->get();
|
|
|
//用户已预约课程
|
|
@@ -264,12 +268,7 @@ class Course extends Api{
|
|
|
$reservation['teacher_pic'] = path_compat($reservation['teacher_pic']);
|
|
|
switch ($reservation['status']){
|
|
|
case 1:
|
|
|
- if ($reservation['start_time'] <= $time){
|
|
|
- $reservation['status'] = 3;
|
|
|
- $reservation['status_name'] = '已完成';
|
|
|
- }else{
|
|
|
- $reservation['status_name'] = '待上课';
|
|
|
- }
|
|
|
+ $reservation['status_name'] = '待上课';
|
|
|
break;
|
|
|
case 2:
|
|
|
$reservation['status_name'] = '已取消';
|