26 lines
880 B
Python
26 lines
880 B
Python
from fastapi import APIRouter, Depends, HTTPException
|
|||
|
|
from scores.database import get_db
|
||
|
|
from scores.dao.statistic_dao import get_top_students_dao,get_failing_students_dao,get_class_avg_dao
|
||
|
|
|
||
|
|
statistic_api = APIRouter()
|
||
|
|
|
||
|
|
@statistic_api.get('/statistic', summary='查询每次考试都在80分以上的学生')
|
||
|
|
def get_top_students(db=Depends(get_db)):
|
||
|
|
q = get_top_students_dao(db)
|
||
|
|
if not q:
|
||
|
|
return []
|
||
|
|
return q
|
||
|
|
|
||
|
|
@statistic_api.get('/Score/failing', summary='查询两次以上不及格的学生')
|
||
|
|
def get_failing_students(db=Depends(get_db)):
|
||
|
|
result = get_failing_students_dao(db)
|
||
|
|
if not result:
|
||
|
|
return []
|
||
|
|
return result
|
||
|
|
|
||
|
|
@statistic_api.get('/Score/class-avg', summary='统计每次考试每个班级的平均分')
|
||
|
|
def get_class_avg(db=Depends(get_db)):
|
||
|
|
result = get_class_avg_dao(db)
|
||
|
|
if not result:
|
||
|
|
return []
|
||
|
|
return result
|