Files
student_system/api/classinfo_api.py
T

46 lines
1.5 KiB
Python
Raw Normal View History

2026-09-21 18:03:04 +08:00
# 路由接口
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":"逻辑删除成功"}