From 52561ce88099b42e69be84448a709e9d71d3f568 Mon Sep 17 00:00:00 2001 From: lewis <604446095@qq.com> Date: Thu, 2 Jan 2025 14:43:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=95=86=E5=93=81=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E4=BB=B7=E6=A0=BC=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseProductOfferLogic.php | 81 +++++++++---------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php index fd04f6b2a..909780c0f 100644 --- a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php +++ b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php @@ -378,50 +378,49 @@ class PurchaseProductOfferLogic extends BaseLogic break; } } - if (empty($storeProductGroupPrice)) { - return; - } - foreach ($productCatePriceRate as $k => $v) { - if (empty($v['rate'])) { - continue; - } - if ($v['id'] == 4 &&$purchase>0) { - //商户 - $data['cost_lv'] = bcdiv($v['rate'], 100, 2); - $data['cost'] = bcmul($purchase, bcadd($data['cost_lv'], 1, 2), 2); - continue; - }elseif (($v['id'] == 100002 || $v['id'] == 22) &&$purchase>0) { - //零售 - $data['price_lv'] = bcdiv($v['rate'], 100, 2); - $data['price'] = bcmul($purchase, bcadd($data['price_lv'], 1, 2), 1); - if ($product['two_cate_id'] == 15268) { - $lastNum = substr($data['price'], -1); - if ($lastNum <= 2) { - $data['price'] = floor($data['price']); - } elseif ($lastNum < 5) { - $data['price'] = bcadd(floor($data['price']), 0.5, 1); - } else { - $data['price'] = bcadd(floor($data['price']), 1, 1); + if (!empty($purchase)) { + foreach ($productCatePriceRate as $k => $v) { + if (empty($v['rate'])) { + continue; + } + if ($v['id'] == 4 &&$purchase>0) { + //商户 + $data['cost_lv'] = bcdiv($v['rate'], 100, 2); + $data['cost'] = bcmul($purchase, bcadd($data['cost_lv'], 1, 2), 2); + continue; + }elseif (($v['id'] == 100002 || $v['id'] == 22) &&$purchase>0) { + //零售 + $data['price_lv'] = bcdiv($v['rate'], 100, 2); + $data['price'] = bcmul($purchase, bcadd($data['price_lv'], 1, 2), 1); + if ($product['two_cate_id'] == 15268) { + $lastNum = substr($data['price'], -1); + if ($lastNum <= 2) { + $data['price'] = floor($data['price']); + } elseif ($lastNum < 5) { + $data['price'] = bcadd(floor($data['price']), 0.5, 1); + } else { + $data['price'] = bcadd(floor($data['price']), 1, 1); + } } + continue; } - continue; - } - $baseRate = ($v['id'] == 100001 || $v['id'] == 21) ? 100 : 100 + $v['rate']; - if($purchase>0){ - $item = [ - 'product_id' => $product['id'], - 'group_id' => $v['id'], - 'group_name' => $v['title'], - 'price' => bcmul($purchase, $baseRate / 100, 2), - 'price_type' => 3, - 'base_rate' => $baseRate, - ]; - if (isset($storeProductGroupPrice[$v['id']])) { - $item['base_rate'] = $storeProductGroupPrice[$v['id']]['base_rate']; - $item['price'] = bcmul($purchase, $item['base_rate'] / 100, 2); - $item['id'] = $storeProductGroupPrice[$v['id']]['id']; + $baseRate = ($v['id'] == 100001 || $v['id'] == 21) ? 100 : 100 + $v['rate']; + if($purchase>0){ + $item = [ + 'product_id' => $product['id'], + 'group_id' => $v['id'], + 'group_name' => $v['title'], + 'price' => bcmul($purchase, $baseRate / 100, 2), + 'price_type' => 3, + 'base_rate' => $baseRate, + ]; + if (isset($storeProductGroupPrice[$v['id']])) { + $item['base_rate'] = $storeProductGroupPrice[$v['id']]['base_rate']; + $item['price'] = bcmul($purchase, $item['base_rate'] / 100, 2); + $item['id'] = $storeProductGroupPrice[$v['id']]['id']; + } + $priceConfig[] = $item; } - $priceConfig[] = $item; } } }