From 733adc5091beae593181b8dc1db28df910076016 Mon Sep 17 00:00:00 2001 From: lewis <604446095@qq.com> Date: Tue, 31 Dec 2024 13:35:42 +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=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseProductOfferLogic.php | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php index 7caa7a63f..d1c286d2a 100644 --- a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php +++ b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php @@ -431,14 +431,30 @@ class PurchaseProductOfferLogic extends BaseLogic public static function getProductCatePriceRate($product) { $productCatePriceRate = StoreCategory::where('id', $product['cate_id'])->value('price_rate'); - if (!empty($productCatePriceRate)) { + if (!empty($productCatePriceRate) && self::hasPurchase($productCatePriceRate)) { return $productCatePriceRate; } $productCatePriceRate = StoreCategory::where('id', $product['two_cate_id'])->value('price_rate'); - if (!empty($productCatePriceRate)) { + if (!empty($productCatePriceRate) && self::hasPurchase($productCatePriceRate)) { return $productCatePriceRate; } - return StoreCategory::where('id', $product['top_cate_id'])->value('price_rate'); + $productCatePriceRate = StoreCategory::where('id', $product['top_cate_id'])->value('price_rate'); + if (!empty($productCatePriceRate) && self::hasPurchase($productCatePriceRate)) { + return $productCatePriceRate; + } + return []; + } + + public static function hasPurchase(array $productCatePriceRate): bool + { + $res = true; + foreach ($productCatePriceRate as $item) { + if ($item['id'] == 21 && empty($item['rate'])) { + $res = false; + break; + } + } + return $res; } }