From 6fdb525a9ba8be87cf78e593bcc5be33af5c62a8 Mon Sep 17 00:00:00 2001 From: Therainclouds <245141853@qq.com> Date: Thu, 12 Feb 2026 23:18:38 +0800 Subject: [PATCH] n --- .../shop/__pycache__/views.cpython-312.pyc | Bin 69403 -> 69638 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 8c2c7bf3002767408d183fce690e13aece2a19a3..494b96ee9ac81f6fa5e90082945ed42aac93c858 100644 GIT binary patch delta 5406 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 pNa@d~@2U14hx&1{~sQ|ZB_sP delta 5231 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 diff --git a/backend/shop/views.py b/backend/shop/views.py index 4f28df1..42f76d1 100644 --- a/backend/shop/views.py +++ b/backend/shop/views.py @@ -709,9 +709,17 @@ class OrderViewSet(viewsets.ModelViewSet): order.save() try: + # 动态生成描述 + if order.config: + description = f"购买 {order.config.name} x {order.quantity}" + elif order.course: + description = f"报名 {order.course.title}" + else: + description = f"支付订单 {order.id}" + # 统一下单 (JSAPI) code, message = wxpay.pay( - description=f"购买 {order.config.name} x {order.quantity}", + description=description, out_trade_no=out_trade_no, amount={'total': amount_in_cents, 'currency': 'CNY'}, payer={'openid': user.openid}, # 小程序支付必须传 openid