from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.core.response import ApiResponse, ok from app.core.user_context import UserContext, get_user_context from app.db.session import get_db from app.schemas.teaching import CreateTeachingEvaluationRequest, TeachingEvaluationResponse, TeachingItemsResponse from app.services.teaching_service import TeachingService router = APIRouter() @router.get("/cases/{case_id}/items", response_model=ApiResponse[TeachingItemsResponse]) def get_teaching_items( case_id: int, ctx: UserContext = Depends(get_user_context), db: Session = Depends(get_db), ): """教学列表:返回病例、题目、选项、答案、解析文本和教学视频。""" return ok(TeachingService(db).list_items(ctx, case_id)) @router.post("/evaluation", response_model=ApiResponse[TeachingEvaluationResponse]) async def create_teaching_evaluation( payload: CreateTeachingEvaluationRequest, ctx: UserContext = Depends(get_user_context), db: Session = Depends(get_db), ): """教学评价:根据教学互动作答生成 AI 评价并写入训练记录。""" result = await TeachingService(db).create_evaluation(ctx, payload) db.commit() return ok(result)