删除 advisors.py
This commit is contained in:
-50
@@ -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}
|
||||
Reference in New Issue
Block a user