Jelajahi Sumber

取消订单

shish 4 tahun lalu
induk
melakukan
79d0bb85ad

+ 3 - 4
app-ghs/controllers/OrderController.php

@@ -1180,16 +1180,15 @@ class OrderController extends BaseController
 
     }
 
-    //取消订单 shish 20210810
+    //取消订单 shish 20220110
     public function actionCancel()
     {
         $shopAdmin = $this->shopAdmin;
         if (isset($shopAdmin->super) == false || $shopAdmin->super != 1) {
             util::fail('超管才能取消订单');
         }
-
-        $id = Yii::$app->request->get('id', 0);
-        $order = OrderClass::getLockById($id);
+        $id = Yii::$app->request->get('id');
+        $order = OrderClass::getById($id, true);
         OrderClass::valid($order, $this->shopId);
         OrderService::expire($order, true);
         util::complete();

+ 9 - 11
biz-ghs/order/services/OrderService.php

@@ -505,17 +505,15 @@ class OrderService extends BaseService
     }
 
     //订单失效后的操作 shish 2021.5.14
-    public static function expire($order, $force = false)
+    public static function expire($order)
     {
-        $date = date("Y-m-d H:i:s");
-        if ($force == true || $order->status == OrderClass::ORDER_STATUS_UN_PAY && $order->deadline <= $date) {
-            $id = $order->id;
-            $order = OrderClass::cancel($id);
-            $purchaseId = $order->purchaseId;
-            PurchaseClass::cancel($purchaseId);
-            return $order;
-        }
-        return $order;
+        $purchaseId = $order->purchaseId ?? 0;
+        $current = PurchaseClass::getById($purchaseId, true);
+        if (empty($current)) {
+            util::fail('没有找到采购单');
+        }
+        PurchaseService::expire($current);
+        return true;
     }
 
     //支付成功后的流程 shish 2021.5.14
@@ -667,7 +665,7 @@ class OrderService extends BaseService
 
         //不管配送单还是自取单都直接完成
         //if ($order->sendType == OrderClass::SEND_TYPE_NO) {
-            self::withoutSend($order);
+        self::withoutSend($order);
         //}
 
         if ($isPurchase) {

+ 13 - 13
biz-hd/purchase/services/PurchaseService.php

@@ -161,19 +161,19 @@ class PurchaseService extends BaseService
     //采购单失效 shish 2021.5.14
     public static function expire($purchase)
     {
-        $date = date("Y-m-d H:i:s");
-        if ($purchase->status == PurchaseClass::STATUS_UN_PAY && $purchase->deadline <= $date) {
-            //采购单失效
-            $id = $purchase->id;
-            $purchase = PurchaseClass::cancel($id);
-            $saleId = $purchase->saleId;
-            //销售单失效
-            OrderClass::cancel($saleId);
-            $couponId = $purchase->hbId;
-            if (!empty($couponId)) {
-                $coupon = ShopCouponClass::getLockById($couponId);
-                ShopCouponClass::rollback($coupon);
-            }
+        if ($purchase->status != PurchaseClass::STATUS_UN_PAY) {
+            util::fail('不是待付款订单哦');
+        }
+        //采购单失效
+        $id = $purchase->id;
+        $purchase = PurchaseClass::cancel($id);
+        $saleId = $purchase->saleId;
+        //销售单失效
+        OrderClass::cancel($saleId);
+        $couponId = $purchase->hbId;
+        if (!empty($couponId)) {
+            $coupon = ShopCouponClass::getLockById($couponId);
+            ShopCouponClass::rollback($coupon);
         }
         return $purchase;
     }