Переглянути джерело

开单减库存增加销量

shish 11 місяців тому
батько
коміт
d8ae6d09d4

+ 7 - 0
biz-hd/goods/classes/GoodsClass.php

@@ -847,6 +847,13 @@ class GoodsClass extends BaseClass
         }
 
         $data['stock'] = $newStock;
+        $addSale = $params['addSale'] ?? 0;
+        if ($addSale == 1) {
+            //开单减库存增加销量
+            $actualSold = $goodsData['actualSold'] ?? 0;
+            $newActualSold = bcadd($actualSold, $num);
+            $data['actualSold'] = $newActualSold;
+        }
         self::updateById($goodsId, $data);
         util::unlock($key);
         return ['oldStock' => $goodsData['stock'], 'newStock' => $newStock];

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

@@ -449,8 +449,6 @@ class OrderClass extends BaseClass
             }
         }
 
-        \bizMall\order\classes\OrderGoodsClass::stockChange($order);
-
         $realPrice = $order->realPrice ?? 0;
         $shopId = $order->shopId;
         $shop = ShopClass::getLockById($shopId);

+ 27 - 2
biz-hd/order/classes/OrderGoodsClass.php

@@ -206,9 +206,34 @@ class OrderGoodsClass extends BaseClass
     }
 
     //花店商家自主开单,库存不足则不能开单
-    public static function addData($data)
+    public static function addData($data, $custom = null)
     {
-        return self::add($data);
+        $goodsId = $data['goodsId'] ?? 0;
+        $num = $data['num'] ?? 0;
+        $mainId = $data['mainId'] ?? 0;
+        $orderSn = $data['orderSn'] ?? "";
+        $shopId = $data['shopId'] ?? 0;
+        $sjId = $data['sjId'] ?? 0;
+        $customName = $custom['name'] ?? '';
+        $params = ['addSale' => 1];
+        $respond = GoodsClass::decreaseStock($goodsId, $mainId, $num, true, $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,可以找到相同的方法,暂时没有写在一起
+        GoodsStockRecordClass::sellGoods($data);
+
+        return self::add($data, true);
     }
 
 

+ 2 - 1
biz-hd/order/services/OrderService.php

@@ -133,7 +133,8 @@ class OrderService extends BaseService
                     'forward' => $forward,
                     'forwardStock' => $forwardStock,
                 ];
-                OrderGoodsClass::addData($currentGoodsData);
+                //占用库存在这里
+                OrderGoodsClass::addData($currentGoodsData, $custom);
             }
             if ($property == dict::getDict('property', 'item')) {
                 $currentInfo = $itemInfo[$currentId] ?? [];