上传文件至「/」

This commit is contained in:
2026-09-19 15:03:12 +08:00
parent 0f38c42657
commit 4e9039623d
5 changed files with 117 additions and 0 deletions
BIN
View File
Binary file not shown.
+21
View File
@@ -0,0 +1,21 @@
from sqlalchemy import *
from sqlalchemy.orm import declarative_base, sessionmaker
db_url = "mysql+pymysql://root:123456@127.0.0.1:3306/ai111?charset=utf8mb4"
engine = create_engine(db_url)
Base = declarative_base()
Session = sessionmaker(bind=engine
, autoflush=False
, autocommit=False
)
def get_db():
db = Session()
try:
yield db
finally:
db.close()
+14
View File
@@ -0,0 +1,14 @@
from fastapi import FastAPI
from day22.api.order_api import OrderAPI
from day22.database import engine, Base
from day22.model import order_model
Base.metadata.create_all(engine)
app = FastAPI(title='订单系统')
app.include_router(OrderAPI)
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='127.0.0.1', port=8000)
+36
View File
@@ -0,0 +1,36 @@
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': '删除成功'}
+46
View File
@@ -0,0 +1,46 @@
from day22.model.order_model import Order
def add_student_dao(o,db):
try:
o1 = Order( **o)
db.add(o1)
except:
db.rollback()
return False
else:
db.commit()
return True
def update_orders_dao(id,update_data,db):
try:
rows = db.query( Order ).filter( Order.id == id ).update( update_data )
except:
db.rollback()
return False
else:
db.commit()
return rows
def get_order_dao(id,db):
try:
req = db.query(Order).filter(Order.id == id).all()
except:
db.rollback()
return False
else:
db.commit()
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 req]
def delete_order_dao(id,db):
try:
rows = db.query(Order).filter(Order.id == id).delete()
except:
db.rollback()
return False
else:
db.commit()
return rows