teacher_router.py 934 B

1234567891011121314151617181920212223242526272829303132333435
  1. # -*- coding: utf-8 -*-
  2. """
  3. 教师端:班级学情报表
  4. """
  5. from fastapi import APIRouter, Depends, HTTPException
  6. from sqlalchemy.orm import Session
  7. from backend.database import get_db
  8. from backend.services.auth import get_current_user_id, require_teacher
  9. from backend.services.teacher_report_service import get_teacher_class_report
  10. router = APIRouter(prefix="/teacher", tags=["教师端"])
  11. @router.get("/class_report")
  12. def class_report(
  13. days: int = 14,
  14. weak_top: int = 5,
  15. wrong_top: int = 10,
  16. db: Session = Depends(get_db),
  17. teacher_id: int = Depends(get_current_user_id),
  18. _role: str = Depends(require_teacher),
  19. ):
  20. try:
  21. return get_teacher_class_report(
  22. db,
  23. teacher_id=teacher_id,
  24. days=days,
  25. weak_top=weak_top,
  26. wrong_top=wrong_top,
  27. )
  28. except ValueError as e:
  29. raise HTTPException(status_code=400, detail=str(e))