Files
DoubaoTeam/api/class_api.py
T
2026-09-21 17:29:32 +08:00

49 lines
1.8 KiB
Python

from fastapi import APIRouter,Depends,HTTPException
from schemas.class_schema import *
from core.database import get_db
from dao.class_dao import *
classes_router = APIRouter()
@classes_router.post('/',response_model=ClassResponse)
def post_classes(classes:ClassCreate,db=Depends(get_db)):
c = classes.model_dump()
r = post_classes_dao( c , db )
if r :
return ClassResponse( total=1,data=c )
else :
raise HTTPException(status_code=500,detail='添加失败,服务器繁忙,请稍后添加!')
@classes_router.put('/{id}',response_model=ClassResponse)
def put_classes(id:int,classes:ClassUpdate,db=Depends(get_db)):
updates = classes.model_dump( exclude_unset=True )
r = update_classes_dao( id , db , updates )
if r :
return ClassResponse( total=1,data=updates )
else :
raise HTTPException(status_code=500, detail='更新失败,该班级已不存在或服务器繁忙,请稍后更新!')
@classes_router.get('')
def get_classes( id:int|None = None
, class_no:str|None = None
, class_name:str|None = None
, page:int = 1
, page_size:int = 5
, db=Depends(get_db)
):
t,r = get_classes_dao( id , class_no , class_name , page , page_size ,db )
if t != 0 :
return ClassResponse( total = t, data = r )
else :
return ClassResponse( code = 404,detail = '没有符合条件的班级,请检查输入是否有误')
@classes_router.delete('/{id}',response_model=ClassResponse)
def delete_classes(id:int,db=Depends(get_db)):
r = update_classes_dao( id , db )
if r :
return ClassResponse( total=1,data='已成功删除班级信息' )
else :
raise HTTPException(status_code=500, detail='删除失败,该班级信息已不存在或服务器繁忙,请稍后更新!')