diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..06d7405 Binary files /dev/null and b/__init__.py differ diff --git a/order_api.py b/order_api.py new file mode 100644 index 0000000..9a4c714 --- /dev/null +++ b/order_api.py @@ -0,0 +1,55 @@ +from fastapi import APIRouter, Depends, HTTPException +from schema.order_request import OrderRequest, OrderResponse +from database import get_db +from model.order_model import Order +from 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, 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 = 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(id: int, db=Depends(get_db)): + try: # 删除有返回值,删除的行数 + rows = db.query(Order).filter(Order.id == id).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表里 +''' +