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