更新 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,
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,

View File

@ -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
]

View File

@ -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