This commit is contained in:
he
2026-09-22 10:49:05 +08:00
parent 59f81833a3
commit 603fee7fd4
3 changed files with 15 additions and 14 deletions
+2 -2
View File
@@ -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)
+6 -4
View File
@@ -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
+7 -8
View File
@@ -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="成绩")