From 3ad17208681c4be5eb3e3cc06223a0cde53be2de Mon Sep 17 00:00:00 2001 From: test1 Date: Mon, 21 Sep 2026 18:30:55 +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 | 22 ++++++++++++++-------- PythonProject/dao/teacher_dao.py | 18 +++++++++--------- PythonProject/main.py | 2 +- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/PythonProject/api/teacher_api.py b/PythonProject/api/teacher_api.py index 45ff834..0510985 100644 --- a/PythonProject/api/teacher_api.py +++ b/PythonProject/api/teacher_api.py @@ -1,10 +1,11 @@ from fastapi import APIRouter,HTTPException from schema.teacher_schema import Teacher_ResponseModel, Teacher_RequestModel from dao.teacher_dao import * +from util.database import * teacher_api=APIRouter() -@teacher_api.post("/",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='新增教师接口') +@teacher_api.post("/teachers",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='新增教师接口') def add_teacher(teacher:Teacher_RequestModel,session=Depends(get_db)): d=teacher.model_dump() r=add_teacher(req=d,session=session) @@ -13,14 +14,19 @@ def add_teacher(teacher:Teacher_RequestModel,session=Depends(get_db)): return Teacher_ResponseModel(totals=1,data=d) -@teacher_api.get("/",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='查询教师接口') -def get_teacher(id: int, session=Depends(get_db)): - r = get_teacher(id=id, session=session) - if not r: - raise HTTPException(status_code=500, detail='查询异常!') +@teacher_api.get("/teachers",tags=['教师基本信息管理模块'],summary='查询教师接口') +def get_teacher(teacid:int, session=Depends(get_db)): + # r = get_teacher(id=id,session=session) + # if not r: + # raise HTTPException(status_code=500, detail='查询异常!') + try: + l=get_teacher(teacid,session) + return {'code': 200,'msg':'查询成功','data':l} + except: + raise HTTPException(status_code=500,detail='数据库查询异常!') -@teacher_api.put("/",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='更新教师接口') +@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) @@ -29,7 +35,7 @@ def update_teacher(id:int,teacher:Teacher_RequestModel,session=Depends(get_db)): return {'code': 200, 'totals': r, 'detail': '更新成功'} -@teacher_api.delete("/",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='删除教师接口') +@teacher_api.delete("/teachers",response_model=Teacher_ResponseModel,tags=['教师基本信息管理模块'],summary='删除教师接口') def delete_teacher(id:int,session=Depends(get_db)): r=delete_teacher(id=id,session=session) if not r: diff --git a/PythonProject/dao/teacher_dao.py b/PythonProject/dao/teacher_dao.py index 694598e..acce61c 100644 --- a/PythonProject/dao/teacher_dao.py +++ b/PythonProject/dao/teacher_dao.py @@ -1,7 +1,6 @@ from fastapi import HTTPException,Depends -from model.all_model import Teacher_Model -from util.database import * from schema.teacher_schema import Teacher_RequestModel +from model.all_model import * def add_teacher(req:Teacher_RequestModel,session): try: @@ -12,14 +11,15 @@ def add_teacher(req:Teacher_RequestModel,session): raise HTTPException(status_code=500,detail="添加异常!") return req.model_dump() -def get_teacher(session): - try: - teacher_list=session.query(Teacher_Model).filter(Teacher_Model.delete_status==0).all() - return teacher_list - except: - raise HTTPException(status_code=500,detail="查询异常!") +def get_teacher(id,session): + l=session.query(Teacher_Model).filter(Teacher_Model.teac_id==id)\ + .filter(Teacher_Model.delete_status==0).all() + if l: + return l + else: + raise HTTPException(status_code=404,detail='该老师不存在!') -def update_teacher(id:int,req:Teacher_RequestModel,session): +def update_teacher(teac_id:int,req:Teacher_RequestModel,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)) diff --git a/PythonProject/main.py b/PythonProject/main.py index b2aef0b..025e417 100644 --- a/PythonProject/main.py +++ b/PythonProject/main.py @@ -13,5 +13,5 @@ app.include_router(teacher_api) if __name__ == '__main__': import uvicorn - uvicorn.run("main:app",host='0.0.0.0',port=12310) + uvicorn.run("main:app",host='0.0.0.0',port=12320) app.include_router(gradeAPI) \ No newline at end of file