老师模块

This commit is contained in:
2026-09-22 17:29:35 +08:00
parent 2774f5f50a
commit 0cb1d8e196
7 changed files with 235 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
from fastapi import APIRouter,Depends,HTTPException
from schema.teacher_schema import TeacherRequest,TeacherResponse,TeacherUpdateRequest
from database import get_db
from dao.teacher_dao import add_teacher_dao,update_teacher_dao,get_teacher_dao,delete_teacher_dao
TeacherAPI = APIRouter()
@TeacherAPI.post('/teachers',response_model=TeacherResponse,summary='新增老师')
def add_teachers(teacher:TeacherRequest,db=Depends(get_db)):
d = teacher.model_dump()
r = add_teacher_dao(t=d,db=db)
if not r:
raise HTTPException(status_code=400,detail='教师编号已存在或新增失败!')
return teacher
@TeacherAPI.put('/teachers/{teacher_id}',summary='更新老师')
def update_teachers(teacher_id:str,teacher:TeacherUpdateRequest,db=Depends(get_db)):
d = teacher.model_dump(exclude_unset=True)
r = update_teacher_dao(teacher_id=teacher_id,data=d,db=db) #返回更新的行数
if not r:
raise HTTPException(status_code=404,detail='老师不存在或未更新!')
return {'code':200,'totals':r,'detail':'更新成功'}
@TeacherAPI.get('/teachers',response_model=list[TeacherResponse],summary='查询老师')
def get_teachers(teacher_id:str|None=None,
teacher_name:str|None=None,
db=Depends(get_db)):
r = get_teacher_dao(teacher_id=teacher_id,teacher_name=teacher_name,db=db)
if not r:
raise HTTPException(status_code=404,detail='该老师不存在!')
return r
@TeacherAPI.delete('/teachers/{teacher_id}',summary='删除老师')
def delete_teachers(teacher_id:str|None = None,db=Depends(get_db)):
r = delete_teacher_dao(teacher_id,db)
if not r:
raise HTTPException(status_code=404,detail='老师不存在或删除失败!')
return {'code':200,'totals':r,'detail':'删除成功!'}
+25
View File
@@ -0,0 +1,25 @@
from fastapi import APIRouter,Depends,HTTPException
from schema.teacher_schema import TeacherCourseRequest,TeacherCourseResponse
from database import get_db
from dao.teacher_course_dao import add_teacher_course_dao,get_teacher_course_dao
TeacherCourseAPI = APIRouter()
@TeacherCourseAPI.post('/teacher_courses',response_model=TeacherCourseResponse,summary='新增老师课程')
def add_teacher_courses(teachercourse:TeacherCourseRequest,db=Depends(get_db)):
d = teachercourse.model_dump()
r = add_teacher_course_dao(t=d,db=db)
if not r:
raise HTTPException(status_code=400,detail='新增课程失败!')
return d
@TeacherCourseAPI.get('/teacher_courses',response_model=list[TeacherCourseResponse],summary='查询老师课程')
def get_teacher_courses(teacher_id:str,
db=Depends(get_db)):
r = get_teacher_course_dao(teacher_id=teacher_id,db=db)
if not r:
raise HTTPException(status_code=404,detail='该老师不存在!')
return r