Przeglądaj źródła

只有关单成功才能创建新的订单

shish 2 lat temu
rodzic
commit
300ecd6ebe
1 zmienionych plików z 18 dodań i 17 usunięć
  1. 18 17
      app-hd/controllers/PurchaseController.php

+ 18 - 17
app-hd/controllers/PurchaseController.php

@@ -814,21 +814,8 @@ class PurchaseController extends BaseController
 
         //已经唤起过微信支付了,根据拉卡拉的规则,需要生成新的订单号
         if ($order->changePrice == 2) {
+
             $oldOrderSn = $orderSn;
-            $newOrderSn = orderSn::getPurchaseSn();
-            $newGhsOrderSn = orderSn::getGhsOrderSn();
-            $orderSn = $newOrderSn;
-            $order->orderSn = $newOrderSn;
-            $order->save();
-            PurchaseItemClass::updateByCondition(['orderSn' => $oldOrderSn], ['orderSn' => $newOrderSn]);
-            $saleId = $order->saleId ?? 0;
-            $sale = OrderClass::getById($saleId, true);
-            if (!empty($sale)) {
-                $oldSaleOrderSn = $sale->orderSn ?? '';
-                $sale->orderSn = $newGhsOrderSn;
-                $sale->save();
-                OrderItemClass::updateByCondition(['orderSn' => $oldSaleOrderSn], ['orderSn' => $newGhsOrderSn]);
-            }
 
             //老单号需要关单,否则有付款成功的风险
             $merchantPrivateKeyPath = Yii::getAlias("@vendor/lakala") . '/production/api_private_key.pem';
@@ -848,9 +835,23 @@ class PurchaseController extends BaseController
             $response = $laResource->close($closeParams);
             if (isset($response['code']) == false || $response['code'] != 'BBS00000') {
                 $msg = $response['msg'] ?? '';
-                noticeUtil::push('花店买花更换单号,原单号:' . $oldOrderSn . ',关单没有成功,' . $msg, '15280215347');
-            } else {
-                noticeUtil::push('花店买花更换单号,原单号:' . $oldOrderSn . ',关单成功了哦'.json_encode($response), '15280215347');
+                noticeUtil::push('重点注意:花店买花更换单号,单号:' . $oldOrderSn . ',关单没有成功,' . $msg, '15280215347');
+                util::fail('出错了,请重新下一单');
+            }
+
+            $newOrderSn = orderSn::getPurchaseSn();
+            $newGhsOrderSn = orderSn::getGhsOrderSn();
+            $orderSn = $newOrderSn;
+            $order->orderSn = $newOrderSn;
+            $order->save();
+            PurchaseItemClass::updateByCondition(['orderSn' => $oldOrderSn], ['orderSn' => $newOrderSn]);
+            $saleId = $order->saleId ?? 0;
+            $sale = OrderClass::getById($saleId, true);
+            if (!empty($sale)) {
+                $oldSaleOrderSn = $sale->orderSn ?? '';
+                $sale->orderSn = $newGhsOrderSn;
+                $sale->save();
+                OrderItemClass::updateByCondition(['orderSn' => $oldSaleOrderSn], ['orderSn' => $newGhsOrderSn]);
             }
         }