diff --git a/app/api/endpoints/order.py b/app/api/endpoints/order.py index c0d2ffe..f9ab10c 100644 --- a/app/api/endpoints/order.py +++ b/app/api/endpoints/order.py @@ -147,6 +147,15 @@ def calculate_price(price_request: OrderPriceCalculateRequest,user: UserDB,db: S return result + +def format_delivery_time(delivery_date: datetime, time_period_name: str) -> str: + if delivery_date == datetime.now().date(): + return f"今日 {time_period_name}" + elif delivery_date == datetime.now().date() - timedelta(days=1): + return f"昨日 {time_period_name}" + else: + return f"{delivery_date.strftime('%Y-%m-%d')}" + @router.post("/pre-order", response_model=ResponseModel) async def pre_order( request: OrderPriceCalculateRequest, @@ -370,7 +379,7 @@ async def create_order( data={ "order": OrderInfo.model_validate(db_order), "packages": [OrderPackageInfo.model_validate(p) for p in packages], - "success_text" : f"订单预计 {db_order.time_period_name} 送达,请注意查收" + "success_text" : f"预计 {format_delivery_time(db_order.delivery_date, db_order.time_period_name)} 送达,请注意查收" } ) except Exception as e: @@ -472,20 +481,7 @@ async def get_order_detail( } # 计算配送时间 - delivery_time = "预计 今日 送达" - - # 如果配送时段不为空,则使用配送时段的时间 - if order.time_period_id: - if order.delivery_date == datetime.now().date(): - delivery_time = f"今日 {order.time_period_name}" - elif order.delivery_date == datetime.now().date() + timedelta(days=1): - delivery_time = f"明日 {order.time_period_name}" - elif order.delivery_date == datetime.now().date() - timedelta(days=1): - delivery_time = f"昨日 {order.time_period_name}" - else: - delivery_time = f"{order.delivery_date} {order.time_period_name}" - else: - delivery_time = f"今日" + delivery_time = format_delivery_time(order.delivery_date, order.time_period_name) # 构建响应数据 order_data = { @@ -970,16 +966,7 @@ async def deliveryman_orders( "result": fee.OrderAdditionalFeeDB.result, }) - # 如果配送时段不为空,则使用配送时段的时间 - if order.time_period_id: - if order.delivery_date == datetime.now().date(): - delivery_time = f"{order.time_period_name}" - elif order.delivery_date == datetime.now().date() + timedelta(days=1): - delivery_time = f"明日 {order.time_period_name}" - else: - delivery_time = f"{order.delivery_date}" - else: - delivery_time = f"今日" + delivery_time = format_delivery_time(order.delivery_date, order.time_period_name) orders.append({ "orderid": order.orderid,