42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
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} |