Browse Source

修改后

shish 1 year ago
parent
commit
fc59196f2f
1 changed files with 20 additions and 0 deletions
  1. 20 0
      app-ghs/controllers/OrderController.php

+ 20 - 0
app-ghs/controllers/OrderController.php

@@ -9,6 +9,7 @@ use bizGhs\ghs\classes\GhsClass;
 use bizGhs\order\classes\OrderItemClass;
 use bizGhs\order\classes\RefundOrderClass;
 use bizHd\purchase\classes\PurchaseClass;
+use bizHd\purchase\classes\PurchaseItemClass;
 use bizHd\purchase\services\PurchaseService;
 use bizHd\wx\classes\WxOpenClass;
 use bizGhs\custom\classes\CustomClass;
@@ -23,6 +24,7 @@ use common\components\dirUtil;
 use common\components\freight;
 use common\components\httpUtil;
 use common\components\noticeUtil;
+use common\components\orderSn;
 use common\components\oss;
 use common\components\payUtil;
 use common\components\printUtil;
@@ -672,6 +674,19 @@ class OrderController extends BaseController
             util::success(['returnStatus' => 'FAILURE'], $msg);
         }
 
+
+        $codePayErrorKey = 'code_pay_error_' . $id;
+        $hasFailPay = Yii::$app->redis->executeCommand('GET', [$codePayErrorKey]);
+        //前面有付失败过,要重新生成单号
+        if (!empty($hasFailPay)) {
+            $oldOrderSn = $orderSn;
+            $orderSn = orderSn::getPurchaseSn();
+            $cg->orderSn = $orderSn;
+            $cg->save();
+            PurchaseItemClass::updateByCondition(['orderSn' => $oldOrderSn], ['orderSn' => $orderSn]);
+        }
+
+
         $shop = $this->shop;
         $sj = $shop->merchantName;
         $shopName = $shop->shopName;
@@ -795,6 +810,11 @@ class OrderController extends BaseController
                 }
                 util::success(['returnStatus' => 'SUCCESS']);
             } else {
+
+                //标记有没付成功的次数,原因有可能是余额不足等
+                $codePayErrorKey = 'code_pay_error_' . $id;
+                Yii::$app->redis->executeCommand('SETEX', [$codePayErrorKey, 1200, 'hasFail']);
+
                 $msg = $response['msg'] ?? '';
                 $retCode = $response['code'] ?? '';
                 $msg = $msg . "(付款码:{$authCode})" . '(' . $name . ')';