diff --git a/advisors.py b/advisors.py deleted file mode 100644 index fb7e9c3..0000000 --- a/advisors.py +++ /dev/null @@ -1,50 +0,0 @@ -from fastapi import APIRouter,Depends,HTTPException -from sqlalchemy.orm import Session -from sqlalchemy_fastapi_demo.database import get_db -from sqlalchemy_fastapi_demo.scheme.advisors import AdvisorIn, AdvisorOut -from sqlalchemy_fastapi_demo.dao.advisor import service,crud - - -router = APIRouter() -@router.get("/read",response_model=AdvisorOut) -def read_advisor(advisor_id:int|None=None,advisor_name:str|None=None,db:Session=Depends(get_db)): - r_advisor=crud.search_advisor(db=db,advisor_id=advisor_id,advisor_name=advisor_name) - if r_advisor is not None: - return r_advisor - raise HTTPException(status_code=404,detail="顾问老师不存在") -@router.get("/list",response_model=list[AdvisorOut]) -def list_advisor(advisor_name:str|None=None,db:Session=Depends(get_db)): - return crud.list_advisors(db=db,advisor_name=advisor_name) - # r_advisor=crud.list_advisors(db=db,advisor_name=advisor_name,phone=phone) - # if r_advisor: - # return r_advisor - # raise HTTPException(status_code=404,detail="顾问老师不存在") -@router.post("/create",response_model=AdvisorOut) -def create_advisor(advisor_in:AdvisorIn,db:Session=Depends(get_db)): - c_advisor,error=service.create_advisor(db=db,advisor_id=advisor_in.advisor_id,advisor_name=advisor_in.advisor_name) - if error == "DUPLICATE": - raise HTTPException(status_code=409, detail="该顾问ID已被占用") - if error is not None: - # 兜底:Service 新增了返回码但这里没接住,不要静默当成成功 - raise HTTPException(status_code=500, detail="未处理的业务结果: " + error) - return c_advisor - - -@router.put("/update",response_model=AdvisorOut) -def update_advisor(advisor_in:AdvisorIn,db:Session=Depends(get_db)): - u_advisor,error=service.update_advisor(db=db,advisor_id=advisor_in.advisor_id,advisor_in=advisor_in) - if error == "NOT_FOUND": - raise HTTPException(status_code=404,detail="更新失败:顾问不存在") - if error is not None: - raise HTTPException(status_code=500, detail="未处理的业务结果: " + error) - return u_advisor -@router.delete("/delete/{advisor_id}") -def delete_advisor(advisor_id:int,db:Session=Depends(get_db)): - d_advisor,error=service.delete_advisor(db=db,advisor_id=advisor_id) - if error == "NOT_FOUND": - raise HTTPException(status_code=404,detail="顾问老师不存在") - if error == "HAS_STUDENTS": - raise HTTPException(status_code=409, detail="顾问老师下还有学生") - if error is not None: - raise HTTPException(status_code=500, detail="未处理的业务结果: " + error) - return {"message":"删除成功","delete_id":d_advisor} \ No newline at end of file