Kaynağa Gözat

取消订单

shizhongqi 4 yıl önce
ebeveyn
işleme
cc3d4532d5
1 değiştirilmiş dosya ile 35 ekleme ve 0 silme
  1. 35 0
      app-ghs/controllers/OrderController.php

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

@@ -16,6 +16,7 @@ use common\components\dict;
 use common\components\dateUtil;
 use common\components\freight;
 use common\components\httpUtil;
+use common\components\noticeUtil;
 use common\components\oss;
 use common\components\payUtil;
 use common\components\qrCodeUtil;
@@ -811,6 +812,40 @@ class OrderController extends BaseController
         }
     }
 
+    //取消订单 shizhongqi 20220619
+    public function actionCancleOrder()
+    {
+        $post = Yii::$app->request->post();
+        $id = $post['id'] ?? 0;
+        $order = OrderClass::getLockById($id);
+        if (empty($order)) {
+            util::fail('没有找到订单');
+        }
+        OrderClass::valid($order, $this->shopId);
+        $deadLineTime = strtotime($order['deadline']);
+        $diff = $deadLineTime - time();
+        if ($diff < (200 + 10)) {
+            util::fail('取消订单失败');
+        }
+
+        $connection = Yii::$app->db;
+        $transaction = $connection->beginTransaction();
+        $id = $order['id'] ?? 0;
+        $orderSn = $order['orderSn'] ?? '';
+        try {
+            $order = \bizHd\order\classes\OrderClass::getById($id, true);
+            //暂时只考虑花材库存的回滚
+            OrderClass::setExpire($order);
+            $transaction->commit();
+            noticeUtil::push("商城订单未付款,库存已回滚,单号:{$orderSn}");
+        } catch (\Exception $e) {
+            $transaction->rollBack();
+            $msg = $e->getMessage();
+            noticeUtil::push("处理报错了!订单号:{$orderSn},错误信息:{$msg}", '15280215347');
+        }
+        util::complete();
+    }
+
     //延期支付 ssh 2021.1.19
     public function actionDebt()
     {