From 6fed08f6fb5336c55852e1ff726ad0ac1606cf9c Mon Sep 17 00:00:00 2001 From: lq Date: Tue, 21 Oct 2025 08:15:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=9F=8E=E8=AE=A2=E5=8D=95=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../models/forms/ProductOrderSubmitForm.php | 71 +++++++++++-------- 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/member/models/forms/ProductOrderSubmitForm.php b/member/models/forms/ProductOrderSubmitForm.php index a9fca55..6397183 100644 --- a/member/models/forms/ProductOrderSubmitForm.php +++ b/member/models/forms/ProductOrderSubmitForm.php @@ -189,42 +189,53 @@ class ProductOrderSubmitForm extends BaseModel $orderInfo['businessType'] = '100007'; $orderInfo['goodsList'] = $goods; - if ($productOrder->prescription->category === 2) { - if ($productOrder->delivery_method === 0) { - $eplResult = EplPayService::getInstance()->WxJsapiPayment([ - 'order_no' => $pay_order_no, - 'openId' => \Yii::$app->user->identity->openid, - 'orderInfo' => $orderInfo, -// 'total_pay_price' => $productOrder['total_pay_price'], // 只支付快递费用 - 'total_pay_price' => $productOrder['trans_expenses'], - ]); - } else { - // 无需支付 - $t = \Yii::$app->db->beginTransaction(); - try { - $this->paid([ - 'order_no' => $productOrder->order_no, - 'pay_order_no' => $paymentProductOrder->pay_order_no, - ]); - $t->commit(); - }catch (Exception $exception){ - $t->rollback(); - throw $exception; - } - return [ - 'is_paid' => 1, - 'order_id' => $productOrder['id'], - 'timestamp' => time(), - 'is_pay' => 1 - ]; - } - } else { + + if ($productOrder['p_id'] !== 0 && $productOrder['order_type'] !== 2) { $eplResult = EplPayService::getInstance()->WxJsapiPayment([ 'order_no' => $pay_order_no, 'openId' => \Yii::$app->user->identity->openid, 'orderInfo' => $orderInfo, 'total_pay_price' => $productOrder['total_pay_price'], ]); + } else { + + if ($productOrder->prescription->category === 2) { + if ($productOrder->delivery_method === 0) { + $eplResult = EplPayService::getInstance()->WxJsapiPayment([ + 'order_no' => $pay_order_no, + 'openId' => \Yii::$app->user->identity->openid, + 'orderInfo' => $orderInfo, +// 'total_pay_price' => $productOrder['total_pay_price'], // 只支付快递费用 + 'total_pay_price' => $productOrder['trans_expenses'], + ]); + } else { + // 无需支付 + $t = \Yii::$app->db->beginTransaction(); + try { + $this->paid([ + 'order_no' => $productOrder->order_no, + 'pay_order_no' => $paymentProductOrder->pay_order_no, + ]); + $t->commit(); + }catch (Exception $exception){ + $t->rollback(); + throw $exception; + } + return [ + 'is_paid' => 1, + 'order_id' => $productOrder['id'], + 'timestamp' => time(), + 'is_pay' => 1 + ]; + } + } else { + $eplResult = EplPayService::getInstance()->WxJsapiPayment([ + 'order_no' => $pay_order_no, + 'openId' => \Yii::$app->user->identity->openid, + 'orderInfo' => $orderInfo, + 'total_pay_price' => $productOrder['total_pay_price'], + ]); + } } if(!isset($eplResult['returnCode']) || $eplResult['returnCode'] != '0000'){