修改微信支付传入参数类型。

This commit is contained in:
aaron 2025-01-23 21:21:46 +08:00
parent a2fa1d24df
commit a9a381fedd

View File

@ -16,6 +16,7 @@ import random
import string import string
from app.models.merchant_order import MerchantOrderDB, MerchantOrderStatus from app.models.merchant_order import MerchantOrderDB, MerchantOrderStatus
from app.models.merchant_pay_order import MerchantPayOrderDB, MerchantPayOrderStatus from app.models.merchant_pay_order import MerchantPayOrderDB, MerchantPayOrderStatus
import enum
router = APIRouter() router = APIRouter()
@ -24,10 +25,15 @@ class PhoneNumberRequest(BaseModel):
phone_code: str # 手机号验证码 phone_code: str # 手机号验证码
referral_code: str = None # 推荐码(可选) referral_code: str = None # 推荐码(可选)
class OrderType(str, enum.Enum):
DELIVERY = "DELIVERY" # 配送订单
PRODUCT = "PRODUCT" # 商品订单
ONLINE_PAY = "ONLINE_PAY" # 在线支付
class WechatPayRequest(BaseModel): class WechatPayRequest(BaseModel):
"""微信支付请求""" """微信支付请求"""
order_id: str 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) @router.post("/phone-login", response_model=ResponseModel)
async def wechat_phone_login( 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( order = db.query(MerchantOrderDB).filter(
MerchantOrderDB.order_id == request.order_id, MerchantOrderDB.order_id == request.order_id,
MerchantOrderDB.user_id == current_user.userid, MerchantOrderDB.user_id == current_user.userid,
@ -124,7 +130,7 @@ async def create_payment(
amount = order.pay_amount amount = order.pay_amount
description = "商家商品订单" description = "商家商品订单"
elif request.order_type == "merchant_pay_order": elif request.order_type == OrderType.ONLINE_PAY:
order = db.query(MerchantPayOrderDB).filter( order = db.query(MerchantPayOrderDB).filter(
MerchantPayOrderDB.order_id == request.order_id, MerchantPayOrderDB.order_id == request.order_id,
MerchantPayOrderDB.user_id == current_user.userid, MerchantPayOrderDB.user_id == current_user.userid,