From ab36fa1868c2096da85443215f9df63b5d28b626 Mon Sep 17 00:00:00 2001 From: test1 Date: Mon, 21 Sep 2026 20:40:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A9=AC=E7=9D=BF=E6=99=BA=E7=89=9B=E9=80=BC?= =?UTF-8?q?=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/api/teacher_api.py | 19 +++++++++++-------- PythonProject/dao/teacher_dao.py | 13 ++++++++----- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/PythonProject/api/teacher_api.py b/PythonProject/api/teacher_api.py index c0ba4fb..15741d1 100644 --- a/PythonProject/api/teacher_api.py +++ b/PythonProject/api/teacher_api.py @@ -2,18 +2,21 @@ from fastapi import APIRouter,HTTPException,Depends from schema.teacher_schema import Teacher_ResponseModel, Teacher_RequestModel from dao.teacher_dao import add_teacher from util.database import get_db +from dao.teacher_dao import update_teacher +from dao.teacher_dao import delete_teacher +from dao.teacher_dao import get_teacher teacher_api=APIRouter() @teacher_api.post("/teachers",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='新增教师接口') -def get_teacher(x1:Teacher_RequestModel,session=Depends(get_db)): +def add_teacher1(x1:Teacher_RequestModel,session=Depends(get_db)): y=add_teacher(x1.model_dump(),session) if not y: raise HTTPException(status_code=500,detail='添加异常!') return x1 @teacher_api.get("/teachers",tags=['教师基本信息管理模块'],summary='查询教师接口') -def get_teacher(teacid:int, session=Depends(get_db)): +def get_teacher1(teacid:int, session=Depends(get_db)): # r = get_teacher(id=id,session=session) # if not r: # raise HTTPException(status_code=500, detail='查询异常!') @@ -24,17 +27,17 @@ def get_teacher(teacid:int, session=Depends(get_db)): raise HTTPException(status_code=500,detail='数据库查询异常!') -@teacher_api.put("/teachers",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='更新教师接口') -def update_teacher(id:int,teacher:Teacher_RequestModel,session=Depends(get_db)): - d=teacher.model_dump() - r=update_teacher(id=id,req=d,session=session) +@teacher_api.put("/teachers/{t_id}",tags=['教师基本信息管理模块'],summary='更新教师接口') +def update_teacher1(t_id:int,teacher:Teacher_RequestModel,session=Depends(get_db)): + d=teacher.model_dump(exclude_unset=True) + r=update_teacher(id=t_id,req=d,session=session) if not r: raise HTTPException(status_code=500, detail='更新异常!') - return {'code': 200, 'totals': r, 'detail': '更新成功'} + return {'code':200,'detail':'cg'} @teacher_api.delete("/teachers",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='删除教师接口') -def delete_teacher(id:int,session=Depends(get_db)): +def delete_teacher1(id:int,session=Depends(get_db)): r=delete_teacher(id=id,session=session) if not r: raise HTTPException(status_code=500,detail='删除异常!') diff --git a/PythonProject/dao/teacher_dao.py b/PythonProject/dao/teacher_dao.py index cfb3eed..cfd1386 100644 --- a/PythonProject/dao/teacher_dao.py +++ b/PythonProject/dao/teacher_dao.py @@ -25,13 +25,16 @@ def get_teacher(id,session): else: raise HTTPException(status_code=404,detail='该老师不存在!') -def update_teacher(teac_id:int,req:Teacher_RequestModel,session): +def update_teacher(id:int,req,session): try: - session.query(Teacher_Model).filter(Teacher_Model.teac_id==id)\ - .filter(Teacher_Model.delete_status==0).update(req.model_dump(exclude_unset=True)) - session.commit() + r=session.query(Teacher_Model).filter(Teacher_Model.teac_id==id) \ + .filter(Teacher_Model.delete_status==0).update(req) except: - raise HTTPException(status_code=500,detail="更新异常!") + session.rollback() + return False + else: + session.commit() + return r def delete_teacher(id:int,session): try: