增删改查基本完成

This commit is contained in:
2026-09-22 11:45:25 +08:00
parent 8a1022390f
commit 1fe2b6bc60
3 changed files with 16 additions and 15 deletions
+7 -6
View File
@@ -4,9 +4,9 @@ from scores.dao.score_dao import get_scores_dao,add_scores_dao,update_scores_dao
from scores.model.score_model import Score from scores.model.score_model import Score
from scores.schema.score_request import ScoreRequest, ScoreResponse,ScoreQuery from scores.schema.score_request import ScoreRequest, ScoreResponse,ScoreQuery
score_api = APIRouter() score_api = APIRouter(tags=['成绩'])
@score_api.get('/Score') @score_api.get('/Score',summary='成绩查询',description=f'查询条件为空即查询所有成绩')
def get_scores(score:ScoreQuery=Depends(),db=Depends(get_db)): def get_scores(score:ScoreQuery=Depends(),db=Depends(get_db)):
a = score.model_dump() a = score.model_dump()
aa = get_scores_dao(s=a,db=db) aa = get_scores_dao(s=a,db=db)
@@ -14,16 +14,17 @@ def get_scores(score:ScoreQuery=Depends(),db=Depends(get_db)):
return aa return aa
raise HTTPException(status_code=404,detail='不存在') raise HTTPException(status_code=404,detail='不存在')
@score_api.post('/Score',response_model=ScoreResponse) @score_api.post('/Score',response_model=ScoreResponse
,summary='成绩添加')
def add_scores(score:ScoreRequest=Depends(),db=Depends(get_db)): def add_scores(score:ScoreRequest=Depends(),db=Depends(get_db)):
a = score.model_dump() a = score.model_dump()
# print(a,type(a)) # print(a,type(a))
aa = add_scores_dao(b=a,db=db) aa = add_scores_dao(b=a,db=db)
if aa: if aa:
return ScoreResponse(data=a) return ScoreResponse(data=a)
raise HTTPException(status_code=500,detail='没有') raise HTTPException(status_code=500,detail='不可以')
@score_api.put('/Score') @score_api.put('/Score',summary='成绩更新',description=f'查询条件为学号,班级号,考试序次,考试科目,然后更改这位同学此次科目的成绩')
def update_scores(score:ScoreRequest,sid:int,cid:int,num:int,tsub:str,db=Depends(get_db)): def update_scores(score:ScoreRequest,sid:int,cid:int,num:int,tsub:str,db=Depends(get_db)):
a = score.model_dump(exclude_unset=True,exclude={'id','sid','cid','num','tsub'}) a = score.model_dump(exclude_unset=True,exclude={'id','sid','cid','num','tsub'})
aa = update_scores_dao(sid = sid,cid = cid,num = num,tsub = tsub,update_data = a,db=db) aa = update_scores_dao(sid = sid,cid = cid,num = num,tsub = tsub,update_data = a,db=db)
@@ -33,7 +34,7 @@ def update_scores(score:ScoreRequest,sid:int,cid:int,num:int,tsub:str,db=Depends
raise HTTPException(status_code=404,detail='不存在') raise HTTPException(status_code=404,detail='不存在')
return {'message':'更新成功','data':a} return {'message':'更新成功','data':a}
@score_api.delete('/Score') @score_api.delete('/Score',summary='成绩删除',description=f'查询条件为学号,班级号,考试科目,然后进行删除')
def delete_scores(sid:int,cid:int,tsub:str,db=Depends(get_db)): def delete_scores(sid:int,cid:int,tsub:str,db=Depends(get_db)):
aaa = delete_scores_dao(sid,cid,tsub,db) aaa = delete_scores_dao(sid,cid,tsub,db)
if aaa==1: if aaa==1:
+8 -8
View File
@@ -43,20 +43,19 @@ def add_scores_dao(b,db):
db.commit() db.commit()
return True return True
def update_scores_dao(sid:int,cid:int,num:int,tsub:str,update_date:dict,db): def update_scores_dao(sid:int,cid:int,num:int,tsub:str,update_data:dict,db):
if not update_date: if not update_data:
return 0 return 0
update_date['update_date']=datetime.now update_data['update_date']=datetime.now()
try: try:
aa = db.query(Score).filter(Score.sid == sid aa = db.query(Score).filter(Score.sid == sid
,Score.cid == cid ,Score.cid == cid
,Score.num == num ,Score.num == num
,Score.tsub == tsub ).update(update_date) ,Score.tsub == tsub ).update(update_data)
db.commit() db.commit()
return aa return aa
except Exception as e: except Exception :
db.rollback() db.rollback()
print(e)
return -1 return -1
@@ -67,11 +66,12 @@ def delete_scores_dao(sid:int,cid:int,tsub:str,db):
,Score.tsub == tsub ,Score.tsub == tsub
,Score.is_deleted==0 ,Score.is_deleted==0
).update({'is_deleted':1 ).update({'is_deleted':1
,'deleted_date':datetime.now}) ,'deleted_date':datetime.now()})
db.commit() db.commit()
return aaa return aaa
except Exception : except Exception as e :
db.rollback() db.rollback()
print(e)
return -1 return -1
+1 -1
View File
@@ -1,7 +1,7 @@
from fastapi import FastAPI from fastapi import FastAPI
from scores.api.score_api import score_api from scores.api.score_api import score_api
from scores.database import * from scores.database import *
app = FastAPI() app = FastAPI(title='成绩管理系统')
app.include_router(score_api) app.include_router(score_api)