# 路由接口 from typing import List from fastapi import APIRouter,Depends,HTTPException from sqlalchemy.orm import Session from database import get_db from dao.classinfo_dao import create_class,get_class,get_all_class,update_class,delete_class from scheme.classinfo_scheme import ClassCreate,ClassUpdate,ClassIn router=APIRouter() # 新增班级 @router.post("/",response_model=ClassIn) def add_class(class_data:ClassCreate,db:Session=Depends(get_db)): return create_class(db=db,obj=class_data) # 条件查询(id / 名称筛选) @router.get("/search",response_model=List[ClassIn]) def get_cls(class_id:int=None,class_name:str=None,db:Session=Depends(get_db)): res_list=get_class(db=db,class_id=class_id,class_name=class_name) if not res_list: raise HTTPException(status_code=404,detail="班级不存在") return res_list # 查询全部有效班级 @router.get("/",response_model=List[ClassIn]) def get_all(db:Session=Depends(get_db)): return get_all_class(db=db) # 修改班级 @router.put("/{class_id}",response_model=ClassIn) def up_class(class_id:int,class_data:ClassUpdate,db:Session=Depends(get_db)): res=update_class(db=db,class_id=class_id,obj=class_data) if not res: raise HTTPException(status_code=404,detail="班级不存在") return res # 逻辑删除 @router.delete("/{class_id}") def del_class(class_id:int,db:Session=Depends(get_db)): res=delete_class(db=db,class_id=class_id) if not res: raise HTTPException(status_code=404,detail="班级不存在") return {"msg":"逻辑删除成功"}