配送订单增加子订单

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.models.user import UserDB,UserRole
from app.core.response import success_response, error_response, ResponseModel from app.core.response import success_response, error_response, ResponseModel
from app.models.coupon import UserCouponDB, CouponStatus from app.models.coupon import UserCouponDB, CouponStatus
from app.models.point_product_order import PointProductOrderDB, PointProductOrderInfo
from datetime import datetime, timezone from datetime import datetime, timezone
from app.core.config import settings from app.core.config import settings
from app.models.address import AddressDB from app.models.address import AddressDB
@ -524,7 +525,13 @@ async def get_user_orders(
"station_name": package.station_name, "station_name": package.station_name,
"pickup_codes": package.pickup_codes "pickup_codes": package.pickup_codes
} for package in packages] } for package in packages]
#查询子订单
sub_orders = db.query(PointProductOrderDB).filter(
PointProductOrderDB.delivery_order_id == order.orderid
).all()
orders.append({ orders.append({
"orderid": order.orderid, "orderid": order.orderid,
"userid": order.userid, "userid": order.userid,
@ -537,6 +544,7 @@ async def get_user_orders(
"point_discount_amount": order.point_discount_amount, "point_discount_amount": order.point_discount_amount,
"final_amount": order.final_amount, "final_amount": order.final_amount,
"packages": package_list, "packages": package_list,
"sub_orders": [PointProductOrderInfo.model_validate(sub_order) for sub_order in sub_orders],
"address": { "address": {
"name": order.address_customer_name, "name": order.address_customer_name,
"phone": order.address_customer_phone, "phone": order.address_customer_phone,
@ -546,7 +554,11 @@ async def get_user_orders(
"building_id": order.address_community_building_id, "building_id": order.address_community_building_id,
"building_name": order.address_community_building_name, "building_name": order.address_community_building_name,
"address_detail": order.address_detail "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={ return success_response(data={
@ -687,6 +699,11 @@ async def get_deliveryman_orders(
"station_name": package.station_name, "station_name": package.station_name,
"pickup_codes": package.ShippingOrderPackageDB.pickup_codes "pickup_codes": package.ShippingOrderPackageDB.pickup_codes
} for package in packages] } for package in packages]
# 查询子订单
sub_orders = db.query(PointProductOrderDB).filter(
PointProductOrderDB.delivery_order_id == order.orderid
).all()
orders.append({ orders.append({
"orderid": order.orderid, "orderid": order.orderid,
@ -696,6 +713,7 @@ async def get_deliveryman_orders(
"create_time": order.create_time, "create_time": order.create_time,
"delivery_method": order.delivery_method, "delivery_method": order.delivery_method,
"packages": package_list, "packages": package_list,
"sub_orders": [PointProductOrderInfo.model_validate(sub_order) for sub_order in sub_orders],
"address": { "address": {
"name": order.address_customer_name, "name": order.address_customer_name,
"phone": order.address_customer_phone, "phone": order.address_customer_phone,
@ -707,7 +725,7 @@ async def get_deliveryman_orders(
"address_detail": order.address_detail "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, "received_time": order.received_time,
"pickup_time": order.pickup_time, "pickup_time": order.pickup_time,
"completed_time": order.completed_time "completed_time": order.completed_time