添加 student/api/score.py
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# api/score.py
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from sqlalchemy.orm import Session
|
||||
from dao import score_dao
|
||||
from database import get_db
|
||||
|
||||
# 创建路由器
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
|
||||
# 不及格学生表
|
||||
|
||||
@router.get("/warning/list")
|
||||
def warning_list(db: Session = Depends(get_db)):
|
||||
return score_dao.get_warning(db)
|
||||
|
||||
|
||||
|
||||
# 查某学生所有成绩
|
||||
|
||||
|
||||
@router.get("/{stu_id}")
|
||||
def get_scores(stu_id: int, db: Session = Depends(get_db)):
|
||||
return score_dao.get_score(db, stu_id)
|
||||
|
||||
|
||||
# 增
|
||||
|
||||
@router.post("/")
|
||||
def add_score(
|
||||
student_id: int = Query(...),
|
||||
exam_seq: int = Query(...),
|
||||
score: float = Query(...),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
obj, err = score_dao.add_score(db, student_id, exam_seq, score)
|
||||
if err:
|
||||
raise HTTPException(status_code=400, detail=err)
|
||||
return obj
|
||||
|
||||
|
||||
|
||||
|
||||
# 改
|
||||
|
||||
|
||||
@router.put("/update")
|
||||
def update_score(
|
||||
student_id: int = Query(...),
|
||||
exam_seq: int = Query(...),
|
||||
score: float = Query(...),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
obj, err = score_dao.update_score(db, student_id, exam_seq, score)
|
||||
if err:
|
||||
raise HTTPException(status_code=404, detail=err)
|
||||
return obj
|
||||
|
||||
|
||||
# 逻辑删除
|
||||
|
||||
|
||||
@router.post("/delete")
|
||||
def delete_score(
|
||||
student_id: int = Query(...),
|
||||
exam_seq: int = Query(...),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
obj, err = score_dao.delete_score(db, student_id, exam_seq)
|
||||
if err:
|
||||
raise HTTPException(status_code=404, detail=err)
|
||||
return {"message": "已删除,数据仍保留在后台"}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user