diff --git a/app/api/endpoints/wechat.py b/app/api/endpoints/wechat.py index fd1b998..cc8c026 100644 --- a/app/api/endpoints/wechat.py +++ b/app/api/endpoints/wechat.py @@ -16,6 +16,7 @@ import random import string from app.models.merchant_order import MerchantOrderDB, MerchantOrderStatus from app.models.merchant_pay_order import MerchantPayOrderDB, MerchantPayOrderStatus +import enum router = APIRouter() @@ -24,10 +25,15 @@ class PhoneNumberRequest(BaseModel): phone_code: str # 手机号验证码 referral_code: str = None # 推荐码(可选) +class OrderType(str, enum.Enum): + DELIVERY = "DELIVERY" # 配送订单 + PRODUCT = "PRODUCT" # 商品订单 + ONLINE_PAY = "ONLINE_PAY" # 在线支付 + class WechatPayRequest(BaseModel): """微信支付请求""" order_id: str - order_type: str = Field(..., description="订单类型: merchant_order/merchant_pay_order") + order_type: OrderType = Field(..., description="订单类型") @router.post("/phone-login", response_model=ResponseModel) async def wechat_phone_login( @@ -113,7 +119,7 @@ async def create_payment( ): """创建微信支付订单""" # 查询订单 - if request.order_type == "merchant_order": + if request.order_type == OrderType.PRODUCT: order = db.query(MerchantOrderDB).filter( MerchantOrderDB.order_id == request.order_id, MerchantOrderDB.user_id == current_user.userid, @@ -124,7 +130,7 @@ async def create_payment( amount = order.pay_amount description = "商家商品订单" - elif request.order_type == "merchant_pay_order": + elif request.order_type == OrderType.ONLINE_PAY: order = db.query(MerchantPayOrderDB).filter( MerchantPayOrderDB.order_id == request.order_id, MerchantPayOrderDB.user_id == current_user.userid,