diff --git a/PythonProject/api/cla_api.py b/PythonProject/api/cla_api.py index 3e1561c..a57ae60 100644 --- a/PythonProject/api/cla_api.py +++ b/PythonProject/api/cla_api.py @@ -5,13 +5,13 @@ from dao.cla_dao import add_class_dao,get_class_dao,update_class_dao,delete_clas claAPI = APIRouter(prefix="/class", tags=["班级管理"]) -@claAPI.post("/", summary="新增班级") +@claAPI.post("", summary="新增班级") def add_class(data: claRequest, Session = Depends(get_db)): return add_class_dao(data, Session) @claAPI.get("/list", summary="查询班级") -def list_class(Session = Depends(get_db)): - return get_class_dao(Session) +def list_class(n:int,m:int,Session = Depends(get_db)): + return get_class_dao(n,m,Session) @claAPI.put("/{class_id}", summary="更新班级信息") def update_class(class_id: int, data: claRequest, Session = Depends(get_db)): diff --git a/PythonProject/api/teacher_api.py b/PythonProject/api/teacher_api.py index c0ba4fb..dd6e738 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,18 +27,18 @@ 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)): - r=delete_teacher(id=id,session=session) +@teacher_api.delete("/teachers/{t_id}",tags=['教师基本信息管理模块'],summary='删除教师接口') +def delete_teacher1(t_id:int,session=Depends(get_db)): + r=delete_teacher(id=t_id,session=session) if not r: raise HTTPException(status_code=500,detail='删除异常!') - return {'code': 200, 'totals': r} \ No newline at end of file + return {'code': 200, 'detail': 'cg'} \ No newline at end of file diff --git a/PythonProject/dao/cla_dao.py b/PythonProject/dao/cla_dao.py index 3aa0bbe..cd53254 100644 --- a/PythonProject/dao/cla_dao.py +++ b/PythonProject/dao/cla_dao.py @@ -15,9 +15,9 @@ def add_class_dao(c:claRequest,session): session.commit() return '添加成功!' -def get_class_dao(session): +def get_class_dao(n,m,session): try: - class_list=session.query(ClassManagement).filter(ClassManagement.delete_status==0).all() + class_list=session.query(ClassManagement).filter(ClassManagement.delete_status==0).offset((n-1)*m).limit(m).all() return class_list except: raise HTTPException(status_code=406,detail="输入查询信息有误,请重新输入!") @@ -60,7 +60,6 @@ def get_class_for_delete(id: int, session): "class_teacher_id": obj.class_teacher_id, } - def hard_delete_class(id: int, session): try: obj = ( diff --git a/PythonProject/dao/teacher_dao.py b/PythonProject/dao/teacher_dao.py index cfb3eed..551b33a 100644 --- a/PythonProject/dao/teacher_dao.py +++ b/PythonProject/dao/teacher_dao.py @@ -6,11 +6,8 @@ def add_teacher(teacher,session): try: print(teacher) x=Teacher_Model(**teacher) - print(1) session.add(x) - print(2) session.commit() - print(3) return teacher except: session.rollback() @@ -25,19 +22,24 @@ 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: - session.query(Teacher_Model).filter(Teacher_Model.teac_id==id,Teacher_Model.delete_status==0)\ + r=session.query(Teacher_Model).filter(Teacher_Model.teac_id==id,Teacher_Model.delete_status==0)\ .update({'delete_status':1}) - session.commit() except: - raise HTTPException(status_code=500,detail="删除异常") - return {'code':200,'details':'删除成功'} + session.rollback() + return False + else: + session.commit() + return r diff --git a/PythonProject/util/database.py b/PythonProject/util/database.py index 7c72545..cb96327 100644 --- a/PythonProject/util/database.py +++ b/PythonProject/util/database.py @@ -1,7 +1,7 @@ from sqlalchemy import create_engine from sqlalchemy.orm import declarative_base,sessionmaker -db_url = 'mysql+pymysql://root:123456@127.0.0.1:3306/ai0824?charset=utf8mb4' +db_url = 'mysql+pymysql://root:123456@192.168.5.12:3306/ai0824?charset=utf8mb4' engine = create_engine(db_url,pool_size=50) Base = declarative_base()