智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

214 lines
7.2 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\controller\apiController;
use app\Request;
use app\service\api\apiService\PersonCourseScheduleService;
use core\base\BaseApiService;
use function DI\string;
/**
* 学生课程安排-控制器相关接口
* Class Personnel
* @package app\api\controller\apiController
*/
class PersonCourseSchedule extends BaseApiService
{
//列表(人员与课程安排关系表)
public function index(Request $request)
{
$resources_id = $request->param('resources_id', '');//客户资源ID
$status = $request->param('status', '');//状态0待上课1已上课2请假
$course_date = $request->param('course_date', '');//上课日期Y-m-d
$venue_id = $request->param('venue_id', '');//场地ID
if (empty($resources_id)) {
return fail('缺少参数');
}
$where = [
'resources_id' => $resources_id,
'status' => $status,
'course_date' => $course_date,
'venue_id' => $venue_id,
];
$res = (new PersonCourseScheduleService())->getList($where);
return success($res);
}
//详情
public function info(Request $request)
{
$person_course_schedule_id = $request->param('person_course_schedule_id', '');//客户资源ID
if (empty($person_course_schedule_id)) {
return fail('缺少参数');
}
$where = [
'person_course_schedule_id' => $person_course_schedule_id,
];
$res = (new PersonCourseScheduleService())->getInfo($where);
if(!$res['code']){
return fail($res['msg']);
}
return success($res['data']);
}
//学生端-学生课程安排-修改请假状态
public function editStatus(Request $request)
{
$person_course_schedule_id = $request->param('person_course_schedule_id', '');
$status = $request->param('status', '');
if (empty($person_course_schedule_id)) {
return fail('缺少参数');
}
if (!in_array($status, [0, 1, 2])) {
return fail('状态错误');
}
$data = [
'status' => $status
];
$res = (new PersonCourseScheduleService())->editStatus($person_course_schedule_id, $data);
if(!$res['code']){
return fail($res['msg']);
}
return success($res['data']);
}
//获取学生排课日历
public function getCalendar(Request $request){
$resources_id = $request->param('resources_id', '');//客户资源ID
$start_date = $request->param('start_date', '');//开始日期(Y-m-d)
$end_date = $request->param('end_date', '');//结束日期(Y-m-d)
if (empty($resources_id) || empty($start_date) || empty($end_date)) {
return fail('缺少参数');
}
$where = [
'resources_id'=>$resources_id,
'start_date'=>$start_date,
'end_date'=>$end_date
];
$res = (new PersonCourseScheduleService())->getCalendar($where);
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);
}
//获取学生排课的教练列表
public function getMyCoach(Request $request){
$resources_id = $request->param('resources_id', '');//客户资源ID
if (empty($resources_id)) {
return fail('缺少参数');
}
$where = [
'resources_id'=>$resources_id,
];
$res = (new PersonCourseScheduleService())->memberCoachList($where);
if(!$res['code']){
return fail($res['msg']);
}
return success($res['data']);
}
//获取学生课时消费记录列表
public function getStudentCourseUsageList(Request $request){
$resources_id = $request->param('resources_id', '');//客户资源ID
if (empty($resources_id)) {
return fail('缺少参数');
}
$where = [
'resources_id'=>$resources_id,
];
$res = (new PersonCourseScheduleService())->getStudentCourseUsageList($where);
if(!$res['code']){
return fail($res['msg']);
}
return success($res['data']);
}
//获取学生课程信息列表(包含教练配置)
public function getStudentCourseInfo(Request $request){
$resource_id = $request->param('resource_id', '');//客户资源ID
$member_id = $request->param('member_id', '');//会员ID
$student_id = $request->param('student_id', '');//学生ID
if (empty($resource_id)) {
return fail('缺少参数resource_id');
}
$where = [
'resource_id' => $resource_id,
'member_id' => $member_id,
'student_id' => $student_id,
];
$res = (new PersonCourseScheduleService())->getStudentCourseInfo($where);
if(!$res['code']){
return fail($res['msg']);
}
return success($res['data']);
}
//获取人员列表(教练、教务、助教)
public function getPersonnelList(Request $request){
$res = (new PersonCourseScheduleService())->getPersonnelList();
if(!$res['code']){
return fail($res['msg']);
}
return success($res['data']);
}
//更新学生课程人员配置
public function updateStudentCoursePersonnel(Request $request){
$student_course_id = $request->param('student_course_id', '');//学生课程ID
$main_coach_id = $request->param('main_coach_id', '');//主教练ID
$education_id = $request->param('education_id', '');//教务ID
$assistant_ids = $request->param('assistant_ids', '');//助教IDs,逗号分隔
if (empty($student_course_id)) {
return fail('缺少参数student_course_id');
}
$data = [
'main_coach_id' => $main_coach_id,
'education_id' => $education_id,
'assistant_ids' => $assistant_ids,
];
$res = (new PersonCourseScheduleService())->updateStudentCoursePersonnel($student_course_id, $data);
if(!$res['code']){
return fail($res['msg']);
}
return success($res['data']);
}
}