From ed151b55ae33012a785b2abb5625b38581b52ab6 Mon Sep 17 00:00:00 2001 From: chen <2966418553@qq.com> Date: Tue, 22 Sep 2026 10:26:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5=E8=BF=98?= =?UTF-8?q?=E5=9C=A8=E8=B0=83=E8=AF=95=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scores/api/score_api.py | 14 +++++++------- scores/dao/score_dao.py | 14 ++++++++++---- scores/schema/score_request.py | 2 +- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/scores/api/score_api.py b/scores/api/score_api.py index eb9b266..ce8177a 100644 --- a/scores/api/score_api.py +++ b/scores/api/score_api.py @@ -24,18 +24,18 @@ def add_scores(score:ScoreRequest=Depends(),db=Depends(get_db)): raise HTTPException(status_code=500,detail='没有') @score_api.put('/Score') -def update_scores(score:ScoreRequest,sid:int,cid:int,db=Depends(get_db)): - a = score.model_dump() - aa = update_scores_dao(sid = sid,cid = cid,update_date = a,db=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'}) + aa = update_scores_dao(sid = sid,cid = cid,num = num,tsub = tsub,update_data = a,db=db) if not aa: raise HTTPException(status_code=404,detail='没有更新') return {'message':'更新成功','data':a} @score_api.delete('/Score') -def get_scores(student_id:int,class_id:int,db=Depends(get_db)): - aaa = delete_scores_dao(student_id,class_id,db) +def delete_scores(sid:int,cid:int,tsub:str,db=Depends(get_db)): + aaa = delete_scores_dao(sid,cid,tsub,db) if not aaa: - raise HTTPException(status_code=500,detail='没有删除') - return {'code':200,'totals':aaa,'detail':'更新成功'} + raise HTTPException(status_code=404,detail='记录不存在') + return {'message':'更新成功','detail':aaa} diff --git a/scores/dao/score_dao.py b/scores/dao/score_dao.py index 4899123..61926a9 100644 --- a/scores/dao/score_dao.py +++ b/scores/dao/score_dao.py @@ -42,9 +42,12 @@ def add_scores_dao(b,db): db.commit() return True -def update_scores_dao(sid:int,cid:int,db): +def update_scores_dao(sid:int,cid:int,num:int,tsub:str,update_data:dict,db): try: - aa = db.query(Score).filter(Score.sid == sid , Score.cid == cid,update_date=a).update() + aa = db.query(Score).filter(Score.sid == sid + ,Score.cid == cid + ,Score.num == num + ,Score.tsub == tsub ).update(update_data) except: db.rollback() return False @@ -52,9 +55,12 @@ def update_scores_dao(sid:int,cid:int,db): db.commit() return aa -def delete_scores_dao(sid,cid,db): +def delete_scores_dao(sid:int,cid:int,tsub:str,db): try: - aaa = db.query(Score).filter(Score.sid ==sid,cid = cid).delete() + aaa = db.query(Score).filter(Score.sid ==sid + ,Score.cid == cid + ,Score.tsub == tsub + ,Score.is_deleted==0).delete() except: db.rollback() aaa = 0 diff --git a/scores/schema/score_request.py b/scores/schema/score_request.py index a92e9ce..7c80390 100644 --- a/scores/schema/score_request.py +++ b/scores/schema/score_request.py @@ -2,8 +2,8 @@ from pydantic import BaseModel class ScoreRequest(BaseModel): # id:int - cid:int sid:int + cid:int num:int score:int tsub:str