From d1dfc5b2e1fa44eeb3c2d0762943cb90e8dbd430 Mon Sep 17 00:00:00 2001 From: Therainclouds <245141853@qq.com> Date: Thu, 12 Feb 2026 22:46:23 +0800 Subject: [PATCH] new --- .../shop/__pycache__/views.cpython-312.pyc | Bin 68637 -> 69065 bytes backend/shop/views.py | 10 +++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/shop/__pycache__/views.cpython-312.pyc b/backend/shop/__pycache__/views.cpython-312.pyc index c0de8439fffeb98e3fc80325973af30c29b4fed9..995e4134d447259eb9ebbee50bc7df28ab35a6ce 100644 GIT binary patch delta 4857 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 delta 4480 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 diff --git a/backend/shop/views.py b/backend/shop/views.py index 2c9886a..26f830f 100644 --- a/backend/shop/views.py +++ b/backend/shop/views.py @@ -269,6 +269,9 @@ def pay(request): from .models import Salesperson salesperson = Salesperson.objects.filter(code=ref_code).first() + # 尝试获取当前登录用户 (如果请求头带有 Authorization) + wechat_user = get_current_wechat_user(request) + total_price = product.price * quantity amount_in_cents = int(total_price * 100) @@ -279,6 +282,7 @@ def pay(request): 'phone_number': phone_number, 'shipping_address': shipping_address, 'salesperson': salesperson, + 'wechat_user': wechat_user, 'status': 'pending' } @@ -860,8 +864,12 @@ class OrderViewSet(viewsets.ModelViewSet): """ 主动向微信查询订单支付状态 URL: /api/orders/{id}/query_status/ + 注意:绕过 get_queryset 的过滤,以便未登录或未绑定用户的订单也能查询 """ - order = self.get_object() + try: + order = Order.objects.get(pk=pk) + except Order.DoesNotExist: + return Response({'error': '订单不存在'}, status=status.HTTP_404_NOT_FOUND) # 如果已经支付了,直接返回 if order.status == 'paid':