From fbd5b66ea2f1d55bc5af48658956af70c9a0d9c9 Mon Sep 17 00:00:00 2001 From: wolin_LeeERbn <2659388772@qq.com> Date: Sat, 19 Sep 2026 15:31:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=9B=AE=E5=BD=95=E3=80=8Cda?= =?UTF-8?q?y23sk=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day23sk/api/order_api.py | 47 --------------------------------- day23sk/dao/order_dao.py | 50 ------------------------------------ day23sk/model/order_model.py | 43 ------------------------------- 3 files changed, 140 deletions(-) delete mode 100644 day23sk/api/order_api.py delete mode 100644 day23sk/dao/order_dao.py delete mode 100644 day23sk/model/order_model.py diff --git a/day23sk/api/order_api.py b/day23sk/api/order_api.py deleted file mode 100644 index 6241774..0000000 --- a/day23sk/api/order_api.py +++ /dev/null @@ -1,47 +0,0 @@ -from fastapi import APIRouter,Depends,HTTPException -from day23sk.schema.order_request import OrderRequest,OrderResponse -from day23sk.database import get_db -from day23sk.model.order_model import Order -from day23sk.dao.order_dao import add_student_dao,update_orders_dao,delete_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表里 -''' - - - diff --git a/day23sk/dao/order_dao.py b/day23sk/dao/order_dao.py deleted file mode 100644 index 5dceb76..0000000 --- a/day23sk/dao/order_dao.py +++ /dev/null @@ -1,50 +0,0 @@ -from day23sk.model.order_model import Order,User -def add_student_dao(o,db): - try: - r = db.query(User).filter(User.id == o['userid']).all() - if r: - o1 = Order( **o) # 将字典解析成键值对关键字参数输入 title = xxx, userid = XXX - db.add(o1) - else: - raise ValueError - 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_orders_dao(id,order_title,db,page,page_size): - q = db.query(Order) - if id: - q = q.filter( Order.id == id ) - if order_title: - q = q.filter( Order.title == order_title ) - r = q.offset( (page-1)*page_size ).limit( page_size ).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] - - -def delete_orders_dao(id,db): - try: # 删除有返回值,删除的行数 - rows = db.query(Order).filter(Order.id == id).delete() - except: - db.rollback() - rows = 0 - else: - db.commit() - finally: - return rows \ No newline at end of file diff --git a/day23sk/model/order_model.py b/day23sk/model/order_model.py deleted file mode 100644 index 73b0f29..0000000 --- a/day23sk/model/order_model.py +++ /dev/null @@ -1,43 +0,0 @@ -from day23sk.database import DATETIME,Base,Column,Integer,String -from datetime import datetime - -class Order(Base): # python里的表名字 - __tablename__ = 'order_info_detail' # 实际数据库的表名字 - id = Column( Integer # 声明字段的数据类型 - , primary_key=True # 声明是主键 - , autoincrement=True # 声明是自增主键 - , comment='订单编号,自增主键' # 注释 - ) - title = Column( String(50) # 对应数据库的varchar类型 - ,nullable=False # 不允许为null - ) - userid = Column( Integer - # ,ForeignKey('user_info_detail.id') - ,nullable=False ) # 外键约束 - create_date = Column(DATETIME - , default=datetime.now # 默认值是当前时间 - ) - update_date = Column(DATETIME - , default=datetime.now # 首次创建的时间跟更新时间一致 - , onupdate=datetime.now - ) - - -class User(Base): # python里的表名字 - __tablename__ = 'user_info_detail' # 实际数据库的表名字 - id = Column( Integer # 声明字段的数据类型 - , primary_key=True # 声明是主键 - , autoincrement=True # 声明是自增主键 - , comment='用户编号,自增主键' # 注释 - ) - usernmae = Column( String(50) # 对应数据库的varchar类型 - ,nullable=False # 不允许为null - ,comment='用户名' - ) - create_date = Column(DATETIME - , default=datetime.now # 默认值是当前时间 - ) - update_date = Column(DATETIME - , default=datetime.now # 首次创建的时间跟更新时间一致 - , onupdate=datetime.now - ) \ No newline at end of file