Files
student_manage_system/Teachers/api/tea_api.py
T

56 lines
2.5 KiB
Python
Raw Normal View History

2026-09-21 16:28:55 +08:00
from fastapi import APIRouter,Depends,HTTPException
from Teachers.schema import *
from Teachers.database import *
from Teachers.model.tea_model import *
from Teachers.dao.tea_dao import *
2026-09-22 20:43:33 +08:00
from Teachers.schema.tea_request import TeaRequest,NewTeaRequest,NewTeaRequest1,SubRequest
2026-09-21 16:28:55 +08:00
from Teachers.schema.tea_response import TeaResponse
2026-09-22 20:43:33 +08:00
2026-09-22 14:36:10 +08:00
tea_api = APIRouter()
2026-09-21 16:28:55 +08:00
2026-09-21 19:36:29 +08:00
@tea_api.post('/tea',response_model=TeaResponse,summary='新增老师',description='输入新增的老师信息,除去姓名外可以为空')
2026-09-22 19:14:04 +08:00
def add_tea(tea: NewTeaRequest=Depends(),db=Depends(get_db)):
2026-09-21 16:28:55 +08:00
r = add_tea_dao(tea.model_dump(),db)
if not r:
raise HTTPException(status_code=500,detail='添加失败!')
2026-09-21 19:36:29 +08:00
return TeaResponse(totals=1,data=tea.model_dump())
@tea_api.get('/tea',response_model=TeaResponse,summary='查询老师',description='任意选择输入的信息数量,不输入则查询全部老师')
2026-09-22 19:14:04 +08:00
def get_tea(t:NewTeaRequest1=Depends(),db=Depends(get_db)): #开启会话窗口
2026-09-21 19:36:29 +08:00
r = get_tea_dao(t.model_dump(),db=db)
2026-09-21 16:28:55 +08:00
if not r:
raise HTTPException(status_code=404,detail='老师不存在')
2026-09-21 19:36:29 +08:00
return TeaResponse(totals=len(r), data=r)
@tea_api.delete('/tea/{id}',summary='删除老师',description='输入删除的老师id')
2026-09-21 16:28:55 +08:00
def delete_tea(id:int|None,db=Depends(get_db)):
r = delete_tea_dao(id,db)
if not r:
raise HTTPException(status_code=500,detail='删除失败!')
return {'detail':'删除成功!'}
2026-09-22 11:00:36 +08:00
@tea_api.put('/tea/{id}',summary='更新老师信息',description='输入更改的信息,可以为空')
2026-09-21 19:36:29 +08:00
def update_tea(id:int,tea:NewTeaRequest,db=Depends(get_db)):
2026-09-21 16:28:55 +08:00
t = tea.model_dump(exclude_unset= True)
2026-09-22 11:00:36 +08:00
r = update_tea_dao(id=id,t=t,db=db)
2026-09-21 16:28:55 +08:00
if not r:
raise HTTPException(status_code=404,detail='老师不存在')
2026-09-22 11:00:36 +08:00
return {'detail':'更新成功'}
2026-09-22 13:54:00 +08:00
#根据任意信息删除
@tea_api.delete('/tea',summary='根据任意信息逻辑删除',description='输入任意信息删除')
2026-09-22 19:14:04 +08:00
def delete_other_tea_dao1(t:TeaRequest=Depends(),db=Depends(get_db)):
2026-09-22 13:54:00 +08:00
row1 = delete_other_tea_dao(t.model_dump(exclude_unset=True),db)
if not row1:
raise HTTPException(status_code=404,detail='没有找到符合条件的老师')
return{'code':200,'data':row1}
2026-09-22 20:43:33 +08:00
#新增科目
@tea_api.post('/subject',summary='新增科目',description='输入新增的科目')
def add_sub(t:SubRequest=Depends(),db=Depends(get_db)): #开启会话窗口
r = add_subject_dao(t.model_dump(),db=db)
if not r:
raise HTTPException(status_code=500,detail='科目已存在')
return TeaResponse(totals=len(r), data=r)
2026-09-22 13:54:00 +08:00