from datetime import datetime from fastapi import HTTPException, APIRouter, Depends from sqlalchemy.orm import Session from dao.counselor_dao import add_counselor, query_counselor,\ update_counselor, delete_counselor_id from database import get_db from schemas.counselor_scheme import CounselorCreate, DeleteCounselor, UpdateCounselor router = APIRouter( prefix="/counselor", tags=["顾问管理"] ) @router.post("/counselors/") def counselor_create(cou: CounselorCreate, db:Session=Depends(get_db)): date_obj=(datetime.strptime(cou.c_time,"%Y-%m-%d")) data= { "id":cou.id, "name":cou.name, "c_time":date_obj.date() } add_counselor(db,data["id"], data["name"],data["c_time"]) return {"message":"新增成功"} @router.get("/{id}") def get_counselor(id:int, db:Session=Depends(get_db)): cou = query_counselor(db, id) if not cou: raise HTTPException(404,detail="顾问不存在") return {"data":cou} # @router.get("/counselors/{name}") # async def counselor_get_name(name,db:Session=Depends(get_db)): # res=query_counselor_name(db,name) # return {"message":"根据名字查询成功","data":res} @router.delete("/{id}") async def counselor_del_id(dele:DeleteCounselor, db:Session=Depends(get_db)): delete_counselor_id(db,dele.id) return {"message":"根据id删除成功"} # @router.delete("/counselors/{name}") # async def counselor_del_name(name:str, # db:Session=Depends(get_db)): # delete_counselor_name(db,name) # return {"message":"根据姓名删除成功"} @router.put("/{id}") async def update_tea(id:int,update:UpdateCounselor,db:Session=Depends(get_db)): date_obj = datetime.strptime(update.c_time, "%Y-%m-%d") res=update_counselor(db,id=id, new_name=update.name, new_c_time=date_obj ) if res.get("msg")=="没找到顾问信息": raise HTTPException(404,detail="顾问不存在") return {"msg":"修改成功","data":res} # @router.put("/counselors/{name}") # async def counselor_update_name(id:int,name:str,c_time:datetime,db:Session=Depends(get_db)): # res=query_counselor_name(db,id,name,c_time) # return res