From 715f84d2f20978808d0b7414a0e4f030113341a4 Mon Sep 17 00:00:00 2001 From: lewis <604446095@qq.com> Date: Fri, 27 Dec 2024 17:56:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=87=E8=B4=AD=E5=8D=95?= =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E7=9A=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseProductOfferLogic.php | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php index e9cef4c8f..7caa7a63f 100644 --- a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php +++ b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php @@ -183,7 +183,7 @@ class PurchaseProductOfferLogic extends BaseLogic 'expiration_date' => $params['expiration_date'], ]); // $find = StoreProductPrice::where(['offer_id' => $params['id']])->find(); - $product = StoreProduct::where('id', $offer['product_id'])->withTrashed()->field('id,store_name,top_cate_id,two_cate_id')->find(); + $product = StoreProduct::where('id', $offer['product_id'])->withTrashed()->field('id,store_name,top_cate_id,two_cate_id,cate_id')->find(); $unit_name=StoreProductUnit::where('id', $offer['unit'])->value('name'); $order = BeforehandOrder::where('id', $params['bhoid'])->find(); $order->pay_price = PurchaseProductOffer::where('order_id', $order['id'])->sum('total_price'); @@ -364,7 +364,7 @@ class PurchaseProductOfferLogic extends BaseLogic 'update_time' => time(), 'status' => 0, ]; - $productCatePriceRate = StoreCategory::where('id', $product['top_cate_id'])->value('price_rate'); + $productCatePriceRate = self::getProductCatePriceRate($product); if (!empty($productCatePriceRate)) { $storeProductGroupPrice = StoreProductGroupPrice::where('product_id', $product['id'])->select()->toArray(); $storeProductGroupPrice = reset_index($storeProductGroupPrice, 'group_id'); @@ -400,7 +400,7 @@ class PurchaseProductOfferLogic extends BaseLogic } continue; } - $baseRate = 100 + $v['rate']; + $baseRate = ($v['id'] == 100001 || $v['id'] == 21) ? 100 : 100 + $v['rate']; if($purchase>0){ $item = [ 'product_id' => $product['id'], @@ -427,4 +427,18 @@ class PurchaseProductOfferLogic extends BaseLogic StoreProductPrice::create($data); } } + + public static function getProductCatePriceRate($product) + { + $productCatePriceRate = StoreCategory::where('id', $product['cate_id'])->value('price_rate'); + if (!empty($productCatePriceRate)) { + return $productCatePriceRate; + } + $productCatePriceRate = StoreCategory::where('id', $product['two_cate_id'])->value('price_rate'); + if (!empty($productCatePriceRate)) { + return $productCatePriceRate; + } + return StoreCategory::where('id', $product['top_cate_id'])->value('price_rate'); + } + }