aaa
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
# statistic.py
|
||||
# 本文件定义statistic相关的所有 API 路由(Controller 层)
|
||||
from dao.statistic_dao import Statistic
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
|
||||
from database import get_db
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.get("/ages")
|
||||
async def get_ages_interface(
|
||||
age1:int = Query(...,ge=18,lt=30,description="输入年龄"),
|
||||
age2:int|None = Query(default=None,ge=19,lt=30,description="如果要区间则输入最大年龄"),
|
||||
condition:int =Query(...,description="输入比较条件:1是大于,2是小于,3是等于,4是区间"),
|
||||
db = Depends(get_db)
|
||||
|
||||
):
|
||||
module = Statistic(db)
|
||||
res = module.get_ages(age1, age2, condition)
|
||||
return {
|
||||
"code": 200,
|
||||
"data": res
|
||||
}
|
||||
@router.get("/class/")
|
||||
async def get_class_interface(
|
||||
db = Depends(get_db)
|
||||
):
|
||||
module = Statistic(db)
|
||||
res = module.get_class()
|
||||
return {
|
||||
"code": 200,
|
||||
"data": res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@router.get("/grades/")
|
||||
async def get_grades_interface(
|
||||
grades:float=Query(80,ge=0,lt=100,description="输入成绩"),
|
||||
db = Depends(get_db)
|
||||
):
|
||||
module = Statistic(db)
|
||||
res = module.get_grades(grades)
|
||||
return res
|
||||
@router.get("/bad_grades/")
|
||||
async def get_bad_grades_interface(
|
||||
number:int=Query(...,ge=0,lt=4,description="输入次数"),
|
||||
db = Depends(get_db)
|
||||
):
|
||||
module = Statistic(db)
|
||||
res = module.get_bad_grades(number)
|
||||
return res
|
||||
#
|
||||
#
|
||||
@router.get("/avg_grade")
|
||||
async def get_avg_interface(
|
||||
sort:int = Query(..., ge=1, le=2, description="1降序高分在前,2升序低分在前"),
|
||||
db=Depends(get_db)
|
||||
):
|
||||
module = Statistic(db)
|
||||
res = module.get_avg_grades(sort)
|
||||
return {"code":200,"data":res}
|
||||
|
||||
#
|
||||
@router.get("/top")
|
||||
async def get_top_interface(
|
||||
top:int=Query(...,description="输入排名"),
|
||||
db = Depends(get_db)
|
||||
):
|
||||
module = Statistic(db)
|
||||
res = module.get_top(top)
|
||||
return res
|
||||
#
|
||||
#
|
||||
@router.get("/get_time")
|
||||
async def get_time_interface(db = Depends(get_db)):
|
||||
module = Statistic(db)
|
||||
res = module.get_time()
|
||||
return res
|
||||
Reference in New Issue
Block a user