Files
ai0824_0919/order_api.py
T
2026-09-19 14:54:42 +08:00

52 lines
2.1 KiB
Python

from fastapi import APIRouter,Depends,HTTPException
from order_management.schema.order_request import OrderRequest,OrderResponse
from order_management.database import get_db
from order_management.model.order_model import Order
from order_management.dao.order_dao import add_student_dao,update_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,uid:int,db=Depends(get_db)):
d = order.model_dump(exclude_unset=True)
r = update_orders_dao( id=uid,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 = db.query(Order).filter( Order.title == order_title ).all()
if r:
return [{"order_id": i.id, 'order_title': i.title, "user_id": i.userid, "create_date": i.create_date,
"update_date": i.update_date} for i in r]
raise HTTPException(status_code=404,detail='订单不存在!')
@order_api.delete('/{id}')
def get_orders(uid:int,db=Depends(get_db)):
try: # 删除有返回值,删除的行数
rows = db.query(Order).filter(Order.id == uid).delete()
except:
db.rollback()
raise HTTPException(status_code=500,detail='删除异常,稍后操作!')
else:
db.commit()
return {'code':200,'totals':rows,'detail':'删除成功'}
# 要求:
'''
①把剩下的delete、get查询接口完成dao层的分层
②新增一个user_info的表,有外键联系,oder订单表外键依赖user_info,改造一下订单post的接口,新增订单前,判断下用户的id是否存在user_info表里
'''
# 第一次测试提交