diff --git a/PythonProject/api/grade_api.py b/PythonProject/api/grade_api.py index be2612f..0f87fc8 100644 --- a/PythonProject/api/grade_api.py +++ b/PythonProject/api/grade_api.py @@ -15,7 +15,7 @@ def get_grade(stu_id: int,db=Depends(get_db)): raise HTTPException(status_code=500,detail=f'数据库查询异常:{str(e)}') @gradeAPI.post('/grade',response_model=GradeResponse,summary='添加学生成绩') -def post_grade(o:GradeRequest=Form(),db=Depends(get_db)): +def post_grade(o:GradeRequest,db=Depends(get_db)): d=o.model_dump() r=add_grade_dao(g=d,db=db) if not r: @@ -25,7 +25,7 @@ def post_grade(o:GradeRequest=Form(),db=Depends(get_db)): @gradeAPI.put('/{score_id}',summary='成绩修改') def put_grade( score_id: int - ,o:GradeUpdate=Form() + ,o:GradeUpdate ,db=Depends(get_db) ): old_obj = get_score_by_id_dao(score_id=score_id, db=db) diff --git a/PythonProject/dao/grade_dao.py b/PythonProject/dao/grade_dao.py index 683ec95..358645e 100644 --- a/PythonProject/dao/grade_dao.py +++ b/PythonProject/dao/grade_dao.py @@ -7,13 +7,15 @@ from model.all_model import * # 根据id查询单条有效成绩 def get_score_by_id_dao(score_id:int, db): return db.query(WlScore).filter( - WlScore.id == score_id - ,WlScore.delete_status==1 + WlScore.score_id == score_id + ,WlScore.delete_status==0 ).first() # 根据stu_id+exam_order查重(新增、修改时校验重复) def get_score_by_stu_exam_order_dao(stu_id:str,exam_order:int,db): - return db.query(WlScore).filter(WlScore.stu_id==stu_id,WlScore.exam_order==exam_order,WlScore.delete_status==0).first() + return db.query(WlScore).filter(WlScore.stu_id==stu_id + ,WlScore.exam_order==exam_order + ,WlScore.delete_status==0).first() def get_grade_dao( stu_id:int , db): @@ -52,7 +54,7 @@ def delete_grade_dao(stu_id:int,db): rows = db.query(WlScore).filter( WlScore.stu_id == stu_id, WlScore.delete_status == 0 - ).update({'delete_status':1}) + ).update({'delete_status':1,'delete_time':datetime.now()}) except: db.rollback() return False diff --git a/PythonProject/schema/grade_schema.py b/PythonProject/schema/grade_schema.py index e3461ed..cb7cacc 100644 --- a/PythonProject/schema/grade_schema.py +++ b/PythonProject/schema/grade_schema.py @@ -1,21 +1,20 @@ -from model.all_model import * -from pydantic import BaseModel, Field, field_validator -from fastapi import HTTPException,Form +from pydantic import BaseModel, Field class GradeRequest(BaseModel): - stu_id:int = Form(description="学生编号") - exam_order:int = Form(description='考核序次') - score:float = Form(description='成绩') + stu_id:int = Field(description="学生编号") + exam_order:int = Field(description='考核序次') + score:float = Field(description='成绩') class GradeResponse(BaseModel): code: int = 200 detail: str = 'OK' + score_id: float stu_id:int exam_order:int score:float class GradeUpdate(BaseModel): - exam_order: int | None = Form( description="考核序次") - score: float | None = Form( description="成绩") + exam_order: int | None = Field( None,description="考核序次") + score: float | None = Field( None,description="成绩")