36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
from fastapi import APIRouter,Depends,HTTPException
|
|
from day22.model.order_model import Order
|
|
from day22.schema.order_schema import Request,OrderResponse
|
|
from day22.database import get_db
|
|
from day22.dao.order_dao import *
|
|
|
|
OrderAPI = APIRouter(prefix="/orders", tags=["订单管理"])
|
|
|
|
@OrderAPI.post("/orders",summary='添加订单接口')
|
|
def create_order(order: Request,db=Depends(get_db)):
|
|
d = order.model_dump()
|
|
r = add_student_dao(o=d, db=db)
|
|
if not r:
|
|
raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!')
|
|
return OrderResponse(totals=1, data=d)
|
|
|
|
# ③ 编写put接口对订单进行更新操作
|
|
@OrderAPI.put("/orders/{id}",summary='更新订单接口')
|
|
def update_order(id: int, order: Request,db=Depends(get_db)):
|
|
d = order.model_dump(exclude_unset=True)
|
|
r = update_orders_dao(id=id, update_data=d, db=db)
|
|
if not r:
|
|
raise HTTPException(status_code=500, detail='没有更新!')
|
|
return {'code': 200, 'totals': r, 'detail': '更新成功'}
|
|
|
|
# ④ 编写get接口对订单进行查询操作
|
|
@OrderAPI.get("/orders/{id}",summary='查询订单接口')
|
|
def get_order(id: int,db=Depends(get_db)):
|
|
req = get_order_dao(id = id, db=db)
|
|
return req
|
|
|
|
# ⑤ 编写delete接口对订单进行删除操作
|
|
@OrderAPI.delete("/orders/{id}",summary='删除订单接口')
|
|
def delete_order(order_id: int, db=Depends(get_db)):
|
|
r = delete_order_dao(id, db=db)
|
|
return {'code': 200, 'totals': r, 'detail': '删除成功'} |