上传文件至「/」
This commit is contained in:
BIN
Binary file not shown.
+18
@@ -0,0 +1,18 @@
|
||||
from sqlalchemy import *
|
||||
from sqlalchemy.orm import declarative_base,sessionmaker
|
||||
|
||||
db_url = "mysql+pymysql://root:123456@127.0.0.1:3306/ai0824?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()
|
||||
@@ -0,0 +1,11 @@
|
||||
from fastapi import FastAPI
|
||||
from day22.api.order_api import order_api
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
app.include_router(order_api,tags=['订单接口'],prefix='/orders')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import uvicorn
|
||||
uvicorn.run("main:app",host='0.0.0.0',port=12345)
|
||||
@@ -0,0 +1,19 @@
|
||||
from fastapi import Response,Request
|
||||
from time import time
|
||||
|
||||
async def fun_ip(r,n):
|
||||
print('获取客户端的来访ip:',r.client.host)
|
||||
if r.client.host not in ['192.168.5.18','192.168.5.6']:
|
||||
respons = await n(r)
|
||||
return respons
|
||||
return Response(status_code=403,content='Not have Permission!')
|
||||
|
||||
async def fun_time(r:Request,n):
|
||||
start_time = time() # 记录开始的时间
|
||||
respons = await n(r) # 接口执行
|
||||
end_time = time() # 记录结束的时间
|
||||
sss = end_time - start_time
|
||||
print( f'接口响应耗时:{sss}s' )
|
||||
respons.headers["Time"] = str(sss) # 添加到响应头里,必须是字符串
|
||||
return respons
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
from fastapi import APIRouter,Depends,HTTPException
|
||||
from day22.schema.order_request import OrderRequest,OrderResponse
|
||||
from day22.database import get_db
|
||||
from day22.model.order_model import Order
|
||||
from day22.dao.order_dao import delete_orders_dao,add_student_dao,update_orders_dao,get_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(id:int|None = None ,order_title:str|None = None,db=Depends(get_db),page:int=1,page_size:int=10):
|
||||
r = get_orders_dao(id,order_title,db,page,page_size )
|
||||
if r:
|
||||
return r
|
||||
raise HTTPException(status_code=404,detail='订单不存在!')
|
||||
|
||||
@order_api.delete('/{id}')
|
||||
def get_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表里
|
||||
'''
|
||||
Reference in New Issue
Block a user