更新 bug

This commit is contained in:
aaron 2025-02-06 21:06:41 +09:00
parent 00f4867314
commit e0ffdbaa04
3 changed files with 20 additions and 21 deletions

View File

@ -105,6 +105,7 @@ async def get_user_orders(
MerchantOrderDB, MerchantOrderDB,
MerchantProductDB.name.label('product_name'), MerchantProductDB.name.label('product_name'),
MerchantProductDB.image_url.label('product_image'), MerchantProductDB.image_url.label('product_image'),
MerchantProductDB.tags.label('product_tags'),
MerchantDB.name.label('merchant_name'), MerchantDB.name.label('merchant_name'),
MerchantDB.latitude.label('merchant_latitude'), MerchantDB.latitude.label('merchant_latitude'),
MerchantDB.longitude.label('merchant_longitude'), MerchantDB.longitude.label('merchant_longitude'),
@ -137,6 +138,7 @@ async def get_user_orders(
# 商品信息 # 商品信息
"product_name": order.product_name, "product_name": order.product_name,
"product_image": order.product_image, "product_image": order.product_image,
"product_tags": order.product_tags,
# 商家信息 # 商家信息
"merchant_name": order.merchant_name, "merchant_name": order.merchant_name,
"merchant_latitude": order.merchant_latitude, "merchant_latitude": order.merchant_latitude,

View File

@ -115,11 +115,14 @@ async def list_pay_orders(
): ):
"""获取支付订单列表""" """获取支付订单列表"""
# 构建基础查询 # 构建基础查询
query = db.query(MerchantPayOrderDB).join( query = db.query(
MerchantPayOrderDB,
MerchantDB
).join(
MerchantDB, MerchantDB,
MerchantPayOrderDB.merchant_id == MerchantDB.id MerchantPayOrderDB.merchant_id == MerchantDB.id
).filter( ).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() MerchantPayOrderDB.create_time.desc()
).offset(skip).limit(limit).all() ).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 = [ order_list = [
MerchantPayOrderInfo( MerchantPayOrderInfo(
id=order.id, id=order.MerchantPayOrderDB.id,
order_id=order.order_id, order_id=order.MerchantPayOrderDB.order_id,
merchant_id=order.merchant_id, merchant_id=order.MerchantPayOrderDB.merchant_id,
user_id=order.user_id, user_id=order.MerchantPayOrderDB.user_id,
amount=float(order.amount), amount=float(order.MerchantPayOrderDB.amount),
gift_points=float(order.gift_points), gift_points=float(order.MerchantPayOrderDB.gift_points),
status=order.status, status=order.MerchantPayOrderDB.status,
create_time=order.create_time, create_time=order.MerchantPayOrderDB.create_time,
update_time=order.update_time, update_time=order.MerchantPayOrderDB.update_time,
pay_time=order.pay_time, pay_time=order.MerchantPayOrderDB.pay_time,
merchant_name=merchant_names.get(order.merchant_id) merchant_name=order.MerchantDB.name,
merchant_image=order.MerchantDB.brand_image_url
) for order in orders ) for order in orders
] ]

View File

@ -45,6 +45,7 @@ class MerchantPayOrderInfo(BaseModel):
update_time: Optional[datetime] update_time: Optional[datetime]
pay_time: Optional[datetime] pay_time: Optional[datetime]
merchant_name: Optional[str] = None merchant_name: Optional[str] = None
merchant_image: Optional[str] = None
class Config: class Config:
from_attributes = True from_attributes = True