shish há 3 anos atrás
pai
commit
f21e198d12
1 ficheiros alterados com 22 adições e 5 exclusões
  1. 22 5
      biz-ghs/product/classes/ProductClass.php

+ 22 - 5
biz-ghs/product/classes/ProductClass.php

@@ -369,12 +369,30 @@ class ProductClass extends BaseClass
             $price = self::getFinalPrice($v, $level, $priceMap, $addPriceMap);
             //零售做特价时的原价
             if ($level == 0) {
-                $currentAddPrice = $v['skMore'] ?? 0;
-                $list[$k]['prePrice'] = bcadd($v['price'], $currentAddPrice, 2);
+                //零售做特价时显示的原价,不能删除
+                if(isset($v['skPrice'])){
+                    $list[$k]['prePrice'] = $v['skPrice'];
+                }
             }
             if (isset($v['discountPrice']) && $v['discountPrice'] > 0) {
-                $currentAddPrice = $v['skMore'] ?? 0;
-                $list[$k]['skPrice'] = bcadd($v['discountPrice'], $currentAddPrice, 2);
+                //做特价花材时,花材列表和改价列表显示的会员价和零售价,不能删除
+                $addPrice = $v['addPrice'] ?? 0;
+                $hjAddPrice = $v['hjAddPrice'] ?? 0;
+                $diff = bcsub($addPrice, $hjAddPrice, 2);
+                if ($diff > 0 && $v['discountPrice'] > $diff) {
+                    $hjPrice = bcsub($v['discountPrice'], $diff, 2);
+                } else {
+                    $hjPrice = $v['discountPrice'];
+                }
+                $list[$k]['hjPrice'] = floatval($hjPrice);
+                $skMore = $v['skMore'] ?? 0;
+                $diff = bcsub($skMore,$addPrice,2);
+                if($diff>0){
+                    $skPrice = bcadd($v['discountPrice'],$diff,2);
+                }else{
+                    $skPrice = $v['discountPrice'];
+                }
+                $list[$k]['skPrice'] = floatval($skPrice);
             }
             $list[$k]['price'] = $price;
 
@@ -426,7 +444,6 @@ class ProductClass extends BaseClass
                 $list[$k]['skPrice'] = bcadd($v['discountPrice'], $currentAddPrice, 2);
             }
             $list[$k]['price'] = $price;
-
             $cost = $v['cost'] ?? 0;
             $ml = 0;
             if ($price > 0) {