from fastapi import APIRouter,HTTPException from fastapi.params import Depends from model.all_model import * from schema.teacher_schema import Teacher_ResponseModel, Teacher_RequestModel from tmpl.work.util.database import get_db from dao.teacher_dao import * teacher_api=APIRouter() @teacher_api.post("",response_model=Teacher_ResponseModel) def add_teacher1(teacher:Teacher_RequestModel,session=Depends(get_db())): d=teacher.model_dump() r=add_teacher(req=d,session=session) if not r: raise HTTPException(status_code=500,detail='添加异常!') return Teacher_ResponseModel(totals=1,data=d) @teacher_api.get("",response_model=Teacher_ResponseModel) def get_teacher(id:int,session=Depends(get_db)): r = session.query(Teacher_Model).filter( Teacher_Model.teac_id == id ).all() if r: return [{'teac_name':i.teac_name,'teac_gender':i.teac_gender,'teac_age':i.teac_age,'teac_position':i.teac_position} for i in r] raise HTTPException(status_code=404,detail='老师不存在!') @teacher_api.put("",response_model=Teacher_ResponseModel) def update_teacher1(id:int,teacher:Teacher_RequestModel,session=Depends(get_db)): d=teacher.model_dump r=update_teacher(id=id,req=d,session=session) if not r: raise HTTPException(status_code=500, detail='更新异常!') return {'code': 200, 'totals': r, 'detail': '更新成功'} @teacher_api.delete("",response_model=Teacher_ResponseModel) 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='删除异常!') return {'code': 200, 'totals': r}