瀏覽代碼

关单换单

shish 1 年之前
父節點
當前提交
8e166b9e37
共有 1 個文件被更改,包括 32 次插入0 次删除
  1. 32 0
      app-ghs/controllers/OrderController.php

+ 32 - 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;
@@ -797,6 +799,36 @@ class OrderController extends BaseController
             } else {
                 $msg = $response['msg'] ?? '';
                 $retCode = $response['code'] ?? '';
+
+
+                /*********************关单换单版块*************************/
+                $oldOrderSn = $cg->orderSn;
+                $ghsShop = $this->shop;
+                //老单号需要关单,否则有付款成功的风险,老单号关闭成功了,才能生成新单号
+                $merchantPrivateKeyPath = Yii::getAlias("@vendor/lakala") . '/production/api_private_key.pem';
+                $lklCertificatePath = Yii::getAlias("@vendor/lakala") . '/production/lkl-apigw-v1.cer';
+                $params = [
+                    'appid' => 'OP00002119',
+                    'serial_no' => '018b08cfddbd',
+                    'merchant_no' => $ghsShop->lklSjNo,
+                    'term_no' => $ghsShop->lklScanTermNo,
+                    'merchantPrivateKeyPath' => $merchantPrivateKeyPath,
+                    'lklCertificatePath' => $lklCertificatePath,
+                ];
+                $laResource = new Lakala($params);
+                $closeParams = [
+                    'orderSn' => $oldOrderSn,
+                ];
+                $response = $laResource->close($closeParams);
+                if (isset($response['code']) && $response['code'] == 'BBS00000') {
+                    $newOrderSn = orderSn::getPurchaseSn();
+                    $cg->orderSn = $newOrderSn;
+                    $cg->save();
+                    PurchaseItemClass::updateByCondition(['orderSn' => $oldOrderSn], ['orderSn' => $newOrderSn]);
+                }
+                /*********************关单换单版块*************************/
+
+
                 $msg = $msg . "(付款码:{$authCode})" . '(' . $name . ')';
                 noticeUtil::push($msg . ' ' . $retCode . ' 编号007', '15280215347');
                 util::success(['returnStatus' => 'FAILURE'], $msg);