param('student_id', ''); if (empty($student_id)) { return fail('学员ID不能为空'); } try { $res = (new StudyPlanService())->getList($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 info(Request $request) { $record_id = $request->param('record_id', ''); if (empty($record_id)) { return fail('记录ID不能为空'); } try { $res = (new StudyPlanService())->getInfo($record_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 add(Request $request) { $data = $request->param(); // 验证必填字段 $required_fields = ['student_id', 'plan_name', 'plan_content']; foreach ($required_fields as $field) { if (empty($data[$field])) { return fail("缺少参数:{$field}"); } } try { $res = (new StudyPlanService())->add($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 edit(Request $request) { $data = $request->param(); if (empty($data['record_id'])) { return fail('缺少参数:record_id'); } try { $res = (new StudyPlanService())->edit($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 delete(Request $request) { $record_id = $request->param('record_id', ''); if (empty($record_id)) { return fail('缺少参数:record_id'); } try { $res = (new StudyPlanService())->delete($record_id); if (!$res['code']) { return fail($res['msg']); } return success([], '删除成功'); } catch (\Exception $e) { return fail('删除失败:' . $e->getMessage()); } } /** * 更新学习计划进度 * @param Request $request * @return \think\Response */ public function updateProgress(Request $request) { $record_id = $request->param('record_id', ''); $progress = $request->param('progress', 0); if (empty($record_id)) { return fail('缺少参数:record_id'); } if ($progress < 0 || $progress > 100) { return fail('进度值必须在0-100之间'); } try { $res = (new StudyPlanService())->updateProgress($record_id, $progress); if (!$res['code']) { return fail($res['msg']); } return success($res['data'], '更新成功'); } catch (\Exception $e) { return fail('更新失败:' . $e->getMessage()); } } }