Browse Source

价格管控

shish 4 năm trước cách đây
mục cha
commit
07bd49099c

+ 3 - 3
biz-ghs/product/classes/ProductClass.php

@@ -126,7 +126,7 @@ class ProductClass extends BaseClass
             $list[$k]['prePrice'] = $v['price'] ?? 0;
 
             //今日特价、会员价
-            $price = self::price($v, $level, $priceMap, $addPriceMap);
+            $price = self::getFinalPrice($v, $level, $priceMap, $addPriceMap);
 
             $list[$k]['price'] = $price;
             $list[$k]['bigPrice'] = $price;
@@ -142,7 +142,7 @@ class ProductClass extends BaseClass
     }
 
     //输出价格 shish 20211009
-    public static function getFinalprice($product, $level, $priceMap, $addPriceMap, $changePrice = 0)
+    public static function getFinalPrice($product, $level, $priceMap, $addPriceMap, $changePrice = 0)
     {
         //开单改价优先级最高
         if ($changePrice > 0) {
@@ -676,7 +676,7 @@ class ProductClass extends BaseClass
 
             //今日特价、会员价
             $currentProduct = $productData[$productId] ?? [];
-            $itemPrice = self::price($currentProduct, $level, $priceMap, $addPriceMap, $changePrice);
+            $itemPrice = self::getFinalPrice($currentProduct, $level, $priceMap, $addPriceMap, $changePrice);
 
             $price = bcmul($itemNum, $itemPrice, 2);
             $tmp = [];

+ 8 - 24
biz-hd/purchase/classes/PurchaseClass.php

@@ -76,10 +76,8 @@ class PurchaseClass extends BaseClass
         $hdProductData = self::getProductMapData($productList, "hdProductId");
 
         $giveLevel = $ghs['giveLevel'] ?? 0;
-        $priceKey = CustomClass::$levelPriceKeyMap;
-        $currentPriceKey = $priceKey[$giveLevel] ?? 'price';
-        $levelAddPriceKey = CustomClass::$levelAddPriceKeyMap;
-        $currentAddPriceKey = $levelAddPriceKey[$giveLevel] ?? 'addPrice';
+        $priceMap = CustomClass::$levelPriceKeyMap;
+        $addPriceMap = CustomClass::$levelAddPriceKeyMap;
 
         //计算价格= 各个productId的price*num(bigNum,smallNum) + sendCost(配送费)
         $bigNum = 0; //总共多少扎
@@ -101,27 +99,13 @@ class PurchaseClass extends BaseClass
 
             $itemNum = ProductClass::mergeItemNum($product['bigNum'], $product['smallNum'], $ratio);//采购数量
 
-            //价格相关控制!!!!!!!请搜索 price_control
-            //普通价与会员价
-            $price = $productData[$productId][$currentPriceKey];
-            //今日特价
-            $discountPrice = $productData[$productId]['discountPrice'] ?? 0;
-            if ($discountPrice > 0) {
-                $addPriceKey = $levelAddPriceKey[0] ?? 'addPrice';
-                $addPrice = $v[$addPriceKey] ?? 0;
-                $currentAddPrice = $v[$currentAddPriceKey] ?? 0;
-                $diff = bcsub($addPrice, $currentAddPrice, 2);
-                $price = bcsub($discountPrice, $diff, 2);
-            }
+            //供货商开单改价
+            $changePrice = isset($product['userPrice']) && $product['userPrice'] > 0 ? $product['userPrice'] : 0;
 
-            $productPrePrice = bcmul($itemNum, $price, 2);
-            $productTotalPrice = $productPrePrice;
+            $currentProduct = $productData[$productId] ?? [];
+            $price = ProductClass::getFinalPrice($currentProduct, $giveLevel, $priceMap, $addPriceMap, $changePrice);
 
-            //供应商开单时修改价格
-            if (isset($product['userPrice']) && $product['userPrice'] > 0) {
-                $price = $product['userPrice'];
-                $productTotalPrice = bcmul($itemNum, $price, 2);
-            }
+            $productTotalPrice = bcmul($itemNum, $price, 2);
 
             $itemInfo = [
                 'itemName' => $hdProductData[$hdProductId]['name'] ?? '',//花材名称
@@ -144,7 +128,7 @@ class PurchaseClass extends BaseClass
             $productList[$key]['price'] = $price;
             $productList[$key]['ratio'] = $ratio;
             $productList[$key]['totalPrice'] = $productTotalPrice;
-            $productList[$key]['preTotalPrice'] = $productPrePrice;
+            $productList[$key]['preTotalPrice'] = $productTotalPrice;
             $productList[$key]['productId'] = $hdProductId;
             $productList[$key]['ghsProductId'] = $productId;
             $smallPrice = bcdiv($price, $ratio, 2);