From e0ffdbaa043ea3075aad668ccb0a9abe94a41a06 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Thu, 6 Feb 2025 21:06:41 +0900 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/endpoints/merchant_order.py | 2 ++ app/api/endpoints/merchant_pay_order.py | 38 +++++++++++-------------- app/models/merchant_pay_order.py | 1 + 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/app/api/endpoints/merchant_order.py b/app/api/endpoints/merchant_order.py index 9490bf7..01bc4bb 100644 --- a/app/api/endpoints/merchant_order.py +++ b/app/api/endpoints/merchant_order.py @@ -105,6 +105,7 @@ async def get_user_orders( MerchantOrderDB, MerchantProductDB.name.label('product_name'), MerchantProductDB.image_url.label('product_image'), + MerchantProductDB.tags.label('product_tags'), MerchantDB.name.label('merchant_name'), MerchantDB.latitude.label('merchant_latitude'), MerchantDB.longitude.label('merchant_longitude'), @@ -137,6 +138,7 @@ async def get_user_orders( # 商品信息 "product_name": order.product_name, "product_image": order.product_image, + "product_tags": order.product_tags, # 商家信息 "merchant_name": order.merchant_name, "merchant_latitude": order.merchant_latitude, diff --git a/app/api/endpoints/merchant_pay_order.py b/app/api/endpoints/merchant_pay_order.py index b908c00..ff13d5b 100644 --- a/app/api/endpoints/merchant_pay_order.py +++ b/app/api/endpoints/merchant_pay_order.py @@ -115,11 +115,14 @@ async def list_pay_orders( ): """获取支付订单列表""" # 构建基础查询 - query = db.query(MerchantPayOrderDB).join( + query = db.query( + MerchantPayOrderDB, + MerchantDB + ).join( MerchantDB, MerchantPayOrderDB.merchant_id == MerchantDB.id ).filter( - MerchantPayOrderDB.user_id == current_user.userid + MerchantPayOrderDB.user_id == current_user.userid, ) # 添加状态筛选 @@ -134,28 +137,21 @@ async def list_pay_orders( MerchantPayOrderDB.create_time.desc() ).offset(skip).limit(limit).all() - # 获取商家名称映射 - merchant_ids = [order.merchant_id for order in orders] - merchant_names = dict( - db.query(MerchantDB.id, MerchantDB.name).filter( - MerchantDB.id.in_(merchant_ids) - ).all() - ) - # 处理返回数据 order_list = [ MerchantPayOrderInfo( - id=order.id, - order_id=order.order_id, - merchant_id=order.merchant_id, - user_id=order.user_id, - amount=float(order.amount), - gift_points=float(order.gift_points), - status=order.status, - create_time=order.create_time, - update_time=order.update_time, - pay_time=order.pay_time, - merchant_name=merchant_names.get(order.merchant_id) + id=order.MerchantPayOrderDB.id, + order_id=order.MerchantPayOrderDB.order_id, + merchant_id=order.MerchantPayOrderDB.merchant_id, + user_id=order.MerchantPayOrderDB.user_id, + amount=float(order.MerchantPayOrderDB.amount), + gift_points=float(order.MerchantPayOrderDB.gift_points), + status=order.MerchantPayOrderDB.status, + create_time=order.MerchantPayOrderDB.create_time, + update_time=order.MerchantPayOrderDB.update_time, + pay_time=order.MerchantPayOrderDB.pay_time, + merchant_name=order.MerchantDB.name, + merchant_image=order.MerchantDB.brand_image_url ) for order in orders ] diff --git a/app/models/merchant_pay_order.py b/app/models/merchant_pay_order.py index 6a96203..7a2395b 100644 --- a/app/models/merchant_pay_order.py +++ b/app/models/merchant_pay_order.py @@ -45,6 +45,7 @@ class MerchantPayOrderInfo(BaseModel): update_time: Optional[datetime] pay_time: Optional[datetime] merchant_name: Optional[str] = None + merchant_image: Optional[str] = None class Config: from_attributes = True