shish 5 lat temu
rodzic
commit
a771fd2c1d

+ 14 - 2
app-ghs/controllers/StockInController.php

@@ -46,8 +46,20 @@ class StockInController extends BaseController
     public function actionCancelOrder()
     {
         $get = Yii::$app->request->get();
-        $orderSn = $get['orderSn'];
-        StockInOrderClass::cancelOrder($orderSn, $this->shopId, $this->adminId);
+        $orderSn = $get['orderSn'] ?? '';
+
+        $order = StockInOrderClass::getByCondition(['orderSn' => $orderSn], true);
+        if (empty($order)) {
+            util::fail('订单不存在');
+        }
+        if (isset($order->inShopId) == false || $order->inShopId != $this->shopId) {
+            util::fail('没有权限');
+        }
+
+        $id = $order->id ?? 0;
+        $info = StockInOrderClass::getLockById($id);
+
+        StockInOrderClass::cancelOrder($info, $this->adminId);
         util::complete("取消成功");
     }
 

+ 13 - 17
biz-ghs/order/classes/StockInOrderClass.php

@@ -325,21 +325,17 @@ class StockInOrderClass extends BaseClass
     }
 
     //取消入库
-    public static function cancelOrder($orderSn, $shopId, $adminId)
+    public static function cancelOrder($order, $adminId)
     {
-        $where = [
-            'orderSn' => $orderSn,
-            'status' => self::STATUS_WAIT,
-            'inShopId' => $shopId,
-        ];
-        $order = self::orderExist($where);
-        $data = [
-            'status' => self::STATUS_CANCEL,
-            'adminId' => $adminId,
-        ];
+        if ($order->status != self::STATUS_WAIT) {
+            util::fail('订单不能取消');
+        }
+        $order->status = self::STATUS_CANCEL;
+        $order->adminId = $adminId;
+        $order->save();
 
-        $outOrderSn = $order['outOrderSn'];
-        $outShopId = $order['outShopId'];
+        $outOrderSn = $order->outOrderSn ?? '';
+        $outShopId = $order->outShopId ?? '';
 
         $outOrderData = StockOutOrderClass::getOrderDetail($outOrderSn, $outShopId);
         $outOrderData['shopId'] = $outShopId;
@@ -356,13 +352,13 @@ class StockInOrderClass extends BaseClass
         }
         $outOrderData['itemInfo'] = $itemInfo;
         StockRecordClass::addRecordByOrder($outOrderData, StockRecordClass::STOCK_RECORD_TYPE_IN_STOCK_CANCEL);
-        self::updateByCondition($where, $data);
 
         //修改出库订单状态
         $whereOut = [
-            'orderSn'=>$outOrderSn,
-            'outShopId'=>$outShopId,
+            'orderSn' => $outOrderSn,
+            'outShopId' => $outShopId,
         ];
-        StockOutOrderClass::updateByCondition($whereOut,$data);
+        StockOutOrderClass::updateByCondition($whereOut, ['status' => StockOutOrderClass::STATUS_CANCEL]);
     }
+
 }