第一次提交
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
from datetime import datetime
|
||||
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from fastapi.params import Depends
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from dao.teachers_dao import add_teachers, del_teachers, update_teachers, search_teachers, \
|
||||
search_teachers_by_id, get_teacher_classes
|
||||
from database import get_db
|
||||
from schemas.req import AddTeacher, DeleteTeacher, UpdateTeacher
|
||||
|
||||
router=APIRouter(prefix="/teacher",tags=["老师管理"])
|
||||
@router.post("/teachers")
|
||||
async def create_teacher(tea:AddTeacher,db:Session=Depends(get_db)):
|
||||
date_obj=datetime.strptime(tea.t_created,"%Y-%m-%d") # 将字符串转时间
|
||||
data={
|
||||
"t_name":tea.t_name,
|
||||
"t_gender":tea.t_gender,
|
||||
"t_phone":tea.t_phone,
|
||||
"t_subject":tea.t_subject,
|
||||
"t_created":date_obj
|
||||
}
|
||||
res=add_teachers(db, data["t_name"],data["t_gender"],data["t_phone"],data["t_subject"],data["t_created"])
|
||||
return {"msg":"新增成功","data":res}
|
||||
|
||||
@router.delete("/{t_id}")
|
||||
def delete_teacher(dele:DeleteTeacher,db:Session=Depends(get_db)):
|
||||
res=del_teachers(db,t_id=dele.t_id,t_name=dele.t_name)
|
||||
if res.get("msg") == "没找到老师信息":
|
||||
raise HTTPException(404, detail="老师不存在")
|
||||
return {"msg": "删除成功"}
|
||||
|
||||
|
||||
@router.put("/{t_id}")
|
||||
async def update_tea(t_id:int,update:UpdateTeacher,db:Session=Depends(get_db)):
|
||||
date_obj = datetime.strptime(update.t_created, "%Y-%m-%d")
|
||||
res=update_teachers(db,t_id=t_id,
|
||||
new_name=update.t_name,
|
||||
new_gender=update.t_gender,
|
||||
new_phone=update.t_phone,
|
||||
new_subject=update.t_subject,
|
||||
new_created=date_obj
|
||||
)
|
||||
if res.get("msg")=="没找到老师信息":
|
||||
raise HTTPException(404,detail="老师不存在")
|
||||
return {"msg":"修改成功","data":res}
|
||||
|
||||
@router.get("/list")
|
||||
def list_teachers(db:Session=Depends(get_db),page:int=1,size:int=3):
|
||||
res=search_teachers(db,page,size)
|
||||
return res
|
||||
|
||||
|
||||
@router.get("/{t_id}")
|
||||
def get_one(t_id:int, db:Session=Depends(get_db)):
|
||||
tea = search_teachers_by_id(db, t_id)
|
||||
if not tea:
|
||||
raise HTTPException(404,detail="老师不存在")
|
||||
return {"data":tea}
|
||||
|
||||
@router.get("/{t_id}/classes")
|
||||
async def get_classes(t_id:int, db:Session=Depends(get_db)):
|
||||
data=get_teacher_classes(db, t_id)
|
||||
if not data:
|
||||
raise HTTPException(404,detail="老师不存在")
|
||||
return {"data":data}
|
||||
Reference in New Issue
Block a user