Browse Source

feat(api): 添加获取学生排课全部场地列表功能

- 新增 getVenueListAll 方法获取学生排课的全部场地列表
- 在路由中添加相应的 API 路由
- 优化了查询条件,使用表名避免字段重复问题
master
liutong 10 months ago
parent
commit
b18bfc9a4a
  1. 15
      niucloud/app/api/controller/apiController/PersonCourseSchedule.php
  2. 2
      niucloud/app/api/route/route.php
  3. 28
      niucloud/app/service/api/apiService/PersonCourseScheduleService.php

15
niucloud/app/api/controller/apiController/PersonCourseSchedule.php

@ -108,4 +108,19 @@ class PersonCourseSchedule extends BaseApiService
$res = (new PersonCourseScheduleService())->getCalendar($where); $res = (new PersonCourseScheduleService())->getCalendar($where);
return success($res); return success($res);
} }
//获取学生排课的全部场地列表
public function getVenueListAll(Request $request){
$resources_id = $request->param('resources_id', '');//客户资源ID
$course_date = $request->param('course_date', '');//上课日期(Y-m-d)
if (empty($resources_id)) {
return fail('缺少参数');
}
$where = [
'resources_id'=>$resources_id,
'course_date'=>$course_date
];
$res = (new PersonCourseScheduleService())->getVenueListAll($where);
return success($res);
}
} }

2
niucloud/app/api/route/route.php

@ -367,6 +367,8 @@ Route::group(function () {
Route::post('xy/personCourseSchedule/editStatus', 'apiController.PersonCourseSchedule/editStatus'); Route::post('xy/personCourseSchedule/editStatus', 'apiController.PersonCourseSchedule/editStatus');
//学生端-学生课程安排-获取排课日历 //学生端-学生课程安排-获取排课日历
Route::get('xy/personCourseSchedule/getCalendar', 'apiController.PersonCourseSchedule/getCalendar'); Route::get('xy/personCourseSchedule/getCalendar', 'apiController.PersonCourseSchedule/getCalendar');
//学生端-学生课程安排-获取学生排课的全部场地列表
Route::get('xy/personCourseSchedule/getVenueListAll', 'apiController.PersonCourseSchedule/getVenueListAll');

28
niucloud/app/service/api/apiService/PersonCourseScheduleService.php

@ -45,7 +45,7 @@ class PersonCourseScheduleService extends BaseApiService
//上课日期 //上课日期
if (!empty($where['course_date'])) { if (!empty($where['course_date'])) {
$model = $model->where('course_date', $where['course_date']); $model = $model->where('school_person_course_schedule.course_date', $where['course_date']);
} }
//判断有没有客户上课状态 //判断有没有客户上课状态
@ -239,4 +239,30 @@ class PersonCourseScheduleService extends BaseApiService
} }
return $result; return $result;
} }
//获取学生排课的全部场地列表
public function getVenueListAll(array $where)
{
$schedule_id = PersonCourseSchedule::where('resources_id', $where['resources_id'])
->where('course_date', $where['course_date'])
->distinct(true)
->column('schedule_id');
if(!$schedule_id){
return [];
}
$venue_id = CourseSchedule::whereIn('id',$schedule_id)->distinct(true)->column('venue_id');
if(!$venue_id){
return [];
}
$res = Venue::whereIn('id',$venue_id)
->with([
'campus'
])
->select()->toArray();
return $res;
}
} }

Loading…
Cancel
Save