This commit is contained in:
he
2026-09-21 16:53:39 +08:00
parent e2c45057c3
commit abb7b97389
4 changed files with 10 additions and 7 deletions
+2 -1
View File
@@ -14,7 +14,7 @@ def get_grade(stu_id: int,db=Depends(get_db)):
except Exception as e: except Exception as e:
raise HTTPException(status_code=500,detail=f'数据库查询异常:{str(e)}') raise HTTPException(status_code=500,detail=f'数据库查询异常:{str(e)}')
@gradeAPI.post('/{stu_id}',summary='添加学生成绩') @gradeAPI.post('/{stu_id}',response_model=GradeResponse,summary='添加学生成绩')
def post_grade(o:GradeRequest=Form(),db=Depends(get_db)): def post_grade(o:GradeRequest=Form(),db=Depends(get_db)):
d=o.model_dump() d=o.model_dump()
r=add_grade_dao(g=d,db=db) r=add_grade_dao(g=d,db=db)
@@ -22,3 +22,4 @@ def post_grade(o:GradeRequest=Form(),db=Depends(get_db)):
raise HTTPException(status_code=400, detail='学生不存在') raise HTTPException(status_code=400, detail='学生不存在')
return GradeResponse return GradeResponse
+3 -4
View File
@@ -5,8 +5,7 @@ from util.database import get_db
from model.all_model import * from model.all_model import *
def get_grade_dao( stu_id:int def get_grade_dao( stu_id:int , db):
,db=Depends(get_db)):
r1 =db.query(WlScore).filter(WlScore.stu_id == stu_id,WlScore.delete_status == 0).all() r1 =db.query(WlScore).filter(WlScore.stu_id == stu_id,WlScore.delete_status == 0).all()
if r1: if r1:
@@ -14,9 +13,9 @@ def get_grade_dao( stu_id:int
else: else:
raise HTTPException(status_code=404,detail="学生不存在") raise HTTPException(status_code=404,detail="学生不存在")
def add_grade_dao(o,db=Depends(get_db)): def add_grade_dao(g,db):
try: try:
o1 = WlScore(**o) o1 = WlScore(**g)
db.add(o1) db.add(o1)
except: except:
db.rollback() db.rollback()
+2
View File
@@ -1,7 +1,9 @@
from fastapi import FastAPI from fastapi import FastAPI
from api.student_api import StudentAPI from api.student_api import StudentAPI
from api.statistics_api import StatisticsAPI from api.statistics_api import StatisticsAPI
from api.grade_api import gradeAPI
app = FastAPI() app = FastAPI()
app.include_router(StudentAPI) app.include_router(StudentAPI)
app.include_router(StatisticsAPI) app.include_router(StatisticsAPI)
app.include_router(gradeAPI)
+3 -2
View File
@@ -1,12 +1,13 @@
from model.all_model import * from model.all_model import *
from pydantic import BaseModel,Field from pydantic import BaseModel, Field, field_validator
from fastapi import HTTPException
class GradeRequest(BaseModel): class GradeRequest(BaseModel):
stu_id:str|None = Field(description="学生编号") stu_id:str|None = Field(description="学生编号")
exam_order:int = Field(description='考核序次') exam_order:int = Field(description='考核序次')
score:float = Field(description='成绩') score:float = Field(description='成绩')
class GradeResponse(BaseModel): class GradeResponse(BaseModel):
code: int = 200 code: int = 200
detail: str = 'OK' detail: str = 'OK'