69 lines
2.3 KiB
Python
69 lines
2.3 KiB
Python
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
|