diff --git a/app/api/endpoints/order.py b/app/api/endpoints/order.py index 0d1cc45..a877410 100644 --- a/app/api/endpoints/order.py +++ b/app/api/endpoints/order.py @@ -109,6 +109,17 @@ async def pre_order( db: Session = Depends(get_db), current_user: UserDB = Depends(get_current_user) ): + + # 检查是否有未支付的订单 + unpay_order = db.query(ShippingOrderDB).filter( + ShippingOrderDB.userid == current_user.userid, + ShippingOrderDB.status == OrderStatus.UNPAID + ).first() + if unpay_order: + return error_response(code=400, message="存在未支付的订单", data={ + "orderid": unpay_order.orderid + }) + """预下单 - 计算价格""" price_info = calculate_price(request, current_user, db) return success_response(data=price_info) @@ -208,7 +219,8 @@ async def create_shipping_order( message="订单创建成功", data={ "order": OrderInfo.model_validate(db_order), - "packages": [OrderPackageInfo.model_validate(p) for p in packages] + "packages": [OrderPackageInfo.model_validate(p) for p in packages], + "success_text" : settings.ORDER_SUCCESS_TEXT } ) except Exception as e: diff --git a/app/core/config.py b/app/core/config.py index 9e891fa..6cbf6c8 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -18,6 +18,9 @@ class Settings(BaseSettings): ORDER_EXTRA_PACKAGE_THRESHOLD: int = 5 # 额外收费阈值 ORDER_DELIVERYMAN_SHARE_RATIO: float = 0.8 # 配送员分账比例 + #订单创建成功文案 + ORDER_SUCCESS_TEXT: str = "订单预计今晚前送达,请注意查收" + # JWT 配置 SECRET_KEY: str = "s10GmiRMmplfYWXYZLSsE3X36Ld4gVZxHgAcdqFGC20v3llv7UdOeWLBEEP3e40p" ACCESS_TOKEN_EXPIRE_MINUTES: Optional[int] = None # None 表示永不过期