Forráskód Böngészése

库存变动管理

shish 4 éve
szülő
commit
30cb039015

+ 1 - 1
app-mall/controllers/OrderController.php

@@ -174,7 +174,7 @@ class OrderController extends BaseController
                 'orderSn' => $orderSn,
                 'createTime' => date("Y-m-d H:i:s"),
             ];
-            OrderGoodsClass::addData($data, []);
+            OrderGoodsClass::addData($data);
             $transaction->commit();
             util::success(['orderSn' => $orderSn, 'totalPrice' => $actPrice, 'couponId' => $couponId, 'id' => $orderId]);
         } catch (Exception $e) {

+ 3 - 0
biz-hd/order/classes/OrderClass.php

@@ -223,8 +223,11 @@ class OrderClass extends BaseClass
         $order->status = self::ORDER_STATUS_COMPLETE;
         $order->payWay = $payWay;
         $order->payStatus = 1;
+        $order->stockChange = 1;
         $order->save();
 
+        \bizMall\order\classes\OrderGoodsClass::stockChange($order);
+
         $realPrice = $order->realPrice ?? 0;
         $shopId = $order->shopId;
         $shop = ShopClass::getLockById($shopId);

+ 36 - 25
biz-mall/order/classes/OrderGoodsClass.php

@@ -3,6 +3,7 @@
 namespace bizMall\order\classes;
 
 use common\components\business;
+use common\components\util;
 use Yii;
 use bizMall\base\classes\BaseClass;
 use biz\stock\classes\GoodsStockRecordClass;
@@ -13,34 +14,44 @@ class OrderGoodsClass extends BaseClass
 
     public static $baseFile = '\bizMall\order\models\OrderGoods';
 
-    public static function addData($data, $custom)
+    //锁定库存 ssh 20220531
+    public static function stockChange($order)
     {
-        $orderSn = $data['orderSn'] ?? '';
-        $sjId = $data['sjId'] ?? 0;
-        $shopId = $data['shopId'] ?? 0;
-        $mainId = $data['mainId'] ?? 0;
-        $goodsId = $data['goodsId'] ?? 0;
-        $num = $data['num'] ?? 0;
-        $customName = $custom->name ?? '';
-        $orderId = $data['orderId'] ?? 0;
+        $orderSn = $order->orderSn ?? '';
+        $sjId = $order->sjId ?? 0;
+        $shopId = $order->shopId ?? 0;
+        $mainId = $order->mainId ?? 0;
+        $customName = $order->customName ?? '';
+        $orderId = $order->id ?? 0;
+        $goodsList = self::getAllByCondition(['orderSn' => $orderSn], null, '*', true);
+        if (!empty($goodsList)) {
+            foreach ($goodsList as $goods) {
 
-        //搜索关键词GoodsStockRecordClass::sellGoods,可以找到相同的方法
-        $params = ['orderId' => $orderId, 'orderSn' => $orderSn];
-        $respond = GoodsClass::decreaseStock($goodsId, $mainId, $num, false, $params);
-        $oldStock = $respond['oldStock'] ?? 0;
-        $newStock = $respond['newStock'] ?? 0;
-        $data = [];
-        $data['sjId'] = $sjId;
-        $data['shopId'] = $shopId;
-        $data['mainId'] = $mainId;
-        $data['orderSn'] = $orderSn;
-        $data['goodsId'] = $goodsId;
-        $data['goodsNum'] = $num;
-        $data['oldStock'] = $oldStock;
-        $data['newStock'] = $newStock;
-        $data['relateName'] = $customName;
-        GoodsStockRecordClass::sellGoods($data);
+                //搜索关键词GoodsStockRecordClass::sellGoods,可以找到相同的方法
+                $goodsId = $goods->goodsId ?? 0;
+                $num = $goods->num ?? 0;
+                $params = ['orderId' => $orderId, 'orderSn' => $orderSn];
+                $respond = GoodsClass::decreaseStock($goodsId, $mainId, $num, false, $params);
+                $oldStock = $respond['oldStock'] ?? 0;
+                $newStock = $respond['newStock'] ?? 0;
+                $data = [];
+                $data['sjId'] = $sjId;
+                $data['shopId'] = $shopId;
+                $data['mainId'] = $mainId;
+                $data['orderSn'] = $orderSn;
+                $data['goodsId'] = $goodsId;
+                $data['goodsNum'] = $num;
+                $data['oldStock'] = $oldStock;
+                $data['newStock'] = $newStock;
+                $data['relateName'] = $customName;
+                GoodsStockRecordClass::sellGoods($data);
 
+            }
+        }
+    }
+
+    public static function addData($data)
+    {
         return self::add($data);
     }