更新 bug
This commit is contained in:
parent
00f4867314
commit
e0ffdbaa04
@ -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,
|
||||
|
||||
@ -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
|
||||
]
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user