配送订单增加子订单

This commit is contained in:
aaron 2025-02-20 17:52:09 +08:00
parent 86eda0826c
commit d8b0afa0ad

View File

@ -20,6 +20,7 @@ from app.api.deps import get_current_user, get_deliveryman_user, get_admin_user
from app.models.user import UserDB,UserRole
from app.core.response import success_response, error_response, ResponseModel
from app.models.coupon import UserCouponDB, CouponStatus
from app.models.point_product_order import PointProductOrderDB, PointProductOrderInfo
from datetime import datetime, timezone
from app.core.config import settings
from app.models.address import AddressDB
@ -525,6 +526,12 @@ async def get_user_orders(
"pickup_codes": package.pickup_codes
} for package in packages]
#查询子订单
sub_orders = db.query(PointProductOrderDB).filter(
PointProductOrderDB.delivery_order_id == order.orderid
).all()
orders.append({
"orderid": order.orderid,
"userid": order.userid,
@ -537,6 +544,7 @@ async def get_user_orders(
"point_discount_amount": order.point_discount_amount,
"final_amount": order.final_amount,
"packages": package_list,
"sub_orders": [PointProductOrderInfo.model_validate(sub_order) for sub_order in sub_orders],
"address": {
"name": order.address_customer_name,
"phone": order.address_customer_phone,
@ -546,7 +554,11 @@ async def get_user_orders(
"building_id": order.address_community_building_id,
"building_name": order.address_community_building_name,
"address_detail": order.address_detail
}
},
"complete_images": order.optimized_complete_images,
"received_time": order.received_time,
"pickup_time": order.pickup_time,
"completed_time": order.completed_time
})
return success_response(data={
@ -688,6 +700,11 @@ async def get_deliveryman_orders(
"pickup_codes": package.ShippingOrderPackageDB.pickup_codes
} for package in packages]
# 查询子订单
sub_orders = db.query(PointProductOrderDB).filter(
PointProductOrderDB.delivery_order_id == order.orderid
).all()
orders.append({
"orderid": order.orderid,
"userid": order.userid,
@ -696,6 +713,7 @@ async def get_deliveryman_orders(
"create_time": order.create_time,
"delivery_method": order.delivery_method,
"packages": package_list,
"sub_orders": [PointProductOrderInfo.model_validate(sub_order) for sub_order in sub_orders],
"address": {
"name": order.address_customer_name,
"phone": order.address_customer_phone,
@ -707,7 +725,7 @@ async def get_deliveryman_orders(
"address_detail": order.address_detail
},
"complete_images": order.complete_images.split(",") if order.complete_images else None,
"complete_images": order.optimized_complete_images,
"received_time": order.received_time,
"pickup_time": order.pickup_time,
"completed_time": order.completed_time