diff --git a/app/api/endpoints/order.py b/app/api/endpoints/order.py index 22abfb5..7eed272 100644 --- a/app/api/endpoints/order.py +++ b/app/api/endpoints/order.py @@ -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 @@ -524,7 +525,13 @@ async def get_user_orders( "station_name": package.station_name, "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={ @@ -687,6 +699,11 @@ async def get_deliveryman_orders( "station_name": package.station_name, "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, @@ -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