45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
from fastapi import APIRouter,Depends,HTTPException
|
|
from day24.schema.order_request import OrderRequest,OrderResponse
|
|
from day24.database import get_db
|
|
from day24.model.order_model import Order
|
|
from day24.dao.order_dao import add_student_dao,update_orders_dao,get_orders_dao,delete_orders_dao
|
|
|
|
order_api = APIRouter()
|
|
|
|
|
|
@order_api.post('',response_model=OrderResponse)
|
|
def add_orders(order:OrderRequest,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)
|
|
|
|
@order_api.put('/{id}')
|
|
def get_orders(order:OrderRequest,id:int,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':'更新成功'}
|
|
|
|
@order_api.get('')
|
|
def get_orders(order_title:str,db=Depends(get_db)):
|
|
r = get_orders_dao(order_title,db)
|
|
if r:
|
|
return r
|
|
return
|
|
|
|
@order_api.delete('/{id}')
|
|
def delete_orders(id:int,db=Depends(get_db)):
|
|
rows = delete_orders_dao(id,db)
|
|
if not rows:
|
|
raise HTTPException(status_code=500,detail='没有删除')
|
|
return {'code':200,'totals':rows,'detail':'删除成功'}
|
|
|
|
|
|
# 要求:
|
|
'''
|
|
①把剩下的delete、get查询接口完成dao层的分层
|
|
②新增一个user_info的表,有外键联系,oder订单表外键依赖user_info,改造一下订单post的接口,新增订单前,判断下用户的id是否存在user_info表里
|
|
''' |