param('course_id', ''); $resource_id = $request->param('resource_id', ''); if (empty($course_id)) { return fail('课程ID不能为空'); } // 如果没有传resource_id,尝试从当前登录用户获取 if (empty($resource_id)) { // 这里需要根据实际情况获取当前学员的resource_id // 可能需要从member_id获取对应的resource_id $resource_id = $this->getResourceIdByMemberId($this->member_id); } if (empty($resource_id)) { return fail('资源ID不能为空'); } $where = [ 'course_id' => $course_id, 'resource_id' => $resource_id ]; try { $res = (new StudentCourseService())->getCourseDetail($where); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('获取课程详情失败:' . $e->getMessage()); } } /** * 获取学员服务记录 * @param Request $request * @return \think\Response */ public function getServiceList(Request $request) { $student_id = $request->param('student_id', ''); // 如果没有传student_id,尝试从当前登录用户获取 if (empty($student_id)) { $student_id = $this->getResourceIdByMemberId($this->member_id); } if (empty($student_id)) { return fail('学员ID不能为空'); } try { $res = (new ServiceService())->getStudentServiceList((int)$student_id); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('获取服务记录失败:' . $e->getMessage()); } } /** * 获取教练列表 * @param Request $request * @return \think\Response */ public function getCoachList(Request $request) { try { $campus_id = $request->param('campus_id', 0); $res = (new StudentCourseService())->getCoachList($campus_id); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('获取教练列表失败:' . $e->getMessage()); } } /** * 获取教务人员列表 * @param Request $request * @return \think\Response */ public function getEducationList(Request $request) { try { $campus_id = $request->param('campus_id', 0); $res = (new StudentCourseService())->getEducationList($campus_id); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('获取教务人员列表失败:' . $e->getMessage()); } } /** * 更新学员课程信息 * @param Request $request * @return \think\Response */ public function updateCourseInfo(Request $request) { try { $data = $request->params([ ["student_course_id", 0], ["main_coach_id", 0], ["assistant_ids", ""], ["education_id", 0], ["class_id", 0] // 可选,如果需要更新班级关联 ]); if (empty($data['student_course_id'])) { return fail('学员课程ID不能为空'); } $res = (new StudentCourseService())->updateCourseInfo($data); if (!$res['code']) { return fail($res['msg']); } return success('更新成功', $res['data']); } catch (\Exception $e) { return fail('更新失败:' . $e->getMessage()); } } /** * 检查学员班级关联情况 * @param Request $request * @return \think\Response */ public function checkClassRelation(Request $request) { try { $resource_id = $request->param('resource_id', ''); if (empty($resource_id)) { // 尝试从当前登录用户获取 $resource_id = $this->getResourceIdByMemberId($this->member_id); } if (empty($resource_id)) { return fail('资源ID不能为空'); } $res = (new StudentCourseService())->checkClassRelation($resource_id); if (!$res['code']) { return fail($res['msg']); } return success($res['data']); } catch (\Exception $e) { return fail('检查班级关联失败:' . $e->getMessage()); } } /** * 根据会员ID获取资源ID * @param int $member_id * @return int|string */ private function getResourceIdByMemberId($member_id) { // 这里根据实际业务逻辑实现 // 从customer_resources表中根据member_id获取resource_id $customerResource = \app\model\customer_resources\CustomerResources::where('member_id', $member_id)->find(); return $customerResource ? $customerResource->id : ''; } }