第四版_完整
This commit is contained in:
+18
-12
@@ -5,12 +5,13 @@ from typing import List
|
||||
|
||||
from database import get_db
|
||||
from dao.teacher_dao import TeacherDao
|
||||
from scheme.cls_mgmt_scheme import ClsMgmtResponse
|
||||
from scheme.teacher_scheme import TeacherAdd,TeacherUpdate, TeacherResponse
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
# 查询所有教师(支持分页)
|
||||
@router.get("/get_all_teachers", response_model=List[TeacherResponse])
|
||||
@router.get("/get_all_teachers", response_model=List[TeacherResponse],summary="查询所有教师")
|
||||
async def get_all_teachers(
|
||||
skip: int = Query(0, ge=0, description="跳过的记录数"),
|
||||
limit: int = Query(100, ge=1, le=200, description="返回的最大记录数"),
|
||||
@@ -21,7 +22,7 @@ async def get_all_teachers(
|
||||
return teachers # FastAPI 自动根据 response_model 转换为 JSON
|
||||
|
||||
# 根据 ID 和 name 查询单个教师
|
||||
@router.get("/get_teacher/{teacher_id_name}", response_model=TeacherResponse)
|
||||
@router.get("/get_teacher/{teacher_id_name}", response_model=TeacherResponse,summary="查询单个教师")
|
||||
async def get_teacher(
|
||||
teacher_id_name: str = Path(..., description="要查询教师的id或姓名"),
|
||||
db: Session = Depends(get_db)
|
||||
@@ -32,18 +33,23 @@ async def get_teacher(
|
||||
return teacher
|
||||
|
||||
# 根据 ID 查询教师带教的班级的信息
|
||||
@router.get("/get_class_info/{teacher_id}")
|
||||
@router.get("/get_class_info/{teacher_id}",response_model=ClsMgmtResponse,summary="教师ID查询带教班级信息")
|
||||
async def get_class_info(
|
||||
teacher_id: str = Path(..., description="要查询教师的id"),
|
||||
db: Session = Depends(get_db)
|
||||
):
|
||||
teacher = TeacherDao.get_clss_info(db, teacher_id)
|
||||
if not teacher:
|
||||
raise HTTPException(status_code=404, detail="用户不存在")
|
||||
return teacher
|
||||
# 检查传入的id教师是否存在
|
||||
existing = TeacherDao.get_by_id(db, teacher_id)
|
||||
if not existing:
|
||||
raise HTTPException(status_code=404, detail="该教师id不存在")
|
||||
# 查询教师是否有带教班级
|
||||
class_info = TeacherDao.get_clss_info(db, teacher_id)
|
||||
if not class_info:
|
||||
raise HTTPException(status_code=404, detail="无带教班级")
|
||||
return class_info
|
||||
|
||||
# 添加教师信息
|
||||
@router.post("/add_teacher", response_model=TeacherResponse)
|
||||
@router.post("/add_teacher", response_model=TeacherResponse,summary="增加教师信息")
|
||||
async def add_teacher(
|
||||
teacher_data: TeacherAdd,
|
||||
db: Session = Depends(get_db)
|
||||
@@ -53,7 +59,7 @@ async def add_teacher(
|
||||
return new_teacher
|
||||
|
||||
# 根据教师id更新教师信息
|
||||
@router.put("/update_teacher/{teacher_id}", response_model=TeacherResponse)
|
||||
@router.put("/update_teacher/{teacher_id}", response_model=TeacherResponse,summary="更新教师信息")
|
||||
async def update_teacher(
|
||||
teacher_id: str,
|
||||
teacher_data: TeacherUpdate,
|
||||
@@ -62,14 +68,14 @@ async def update_teacher(
|
||||
# 检查传入的id教师是否存在
|
||||
existing = TeacherDao.get_by_id(db, teacher_id)
|
||||
if not existing:
|
||||
raise HTTPException(status_code=404, detail="用户不存在")
|
||||
raise HTTPException(status_code=404, detail="该教师不存在")
|
||||
|
||||
# 执行更新
|
||||
updated = TeacherDao.update(db, teacher_id, teacher_data)
|
||||
return updated
|
||||
|
||||
# 删除教师
|
||||
@router.delete("/delete_teacher/{teacher_id}")
|
||||
@router.delete("/delete_teacher/{teacher_id}",summary="删除教师")
|
||||
async def delete_teacher(
|
||||
teacher_id: str,
|
||||
db: Session = Depends(get_db)
|
||||
@@ -77,6 +83,6 @@ async def delete_teacher(
|
||||
|
||||
success = TeacherDao.delete(db, teacher_id)
|
||||
if not success:
|
||||
raise HTTPException(status_code=404, detail="用户不存在")
|
||||
raise HTTPException(status_code=404, detail="教师不存在")
|
||||
|
||||
return "该教师已删除"
|
||||
Reference in New Issue
Block a user