From b2a3df87c493418353485d7b4a30f7ec4227980a Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Tue, 24 Dec 2024 10:47:55 +0800 Subject: [PATCH] =?UTF-8?q?refactor(purchase=5Fproduct=5Foffer):=20?= =?UTF-8?q?=E9=87=8D=E6=9E=84=E9=87=87=E8=B4=AD=E4=BA=A7=E5=93=81=E6=8A=A5?= =?UTF-8?q?=E4=BB=B7=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 注释掉 ProductOffer::push($offer) 行,暂时不推送报价信息 - 在 catch 块中添加调试信息输出,便于排查错误 - 修复商户和供货商价格计算逻辑,优化价格计算过程 --- .../purchase_product_offer/PurchaseProductOfferLogic.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php index 18a927b3e..28e67e5d6 100644 --- a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php +++ b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php @@ -221,10 +221,11 @@ class PurchaseProductOfferLogic extends BaseLogic }else{ $offer['pay_type_name']='没设置'; } - ProductOffer::push($offer); + // ProductOffer::push($offer); return true; } catch (\Throwable $e) { Db::rollback(); + d($e); throw new BusinessException($e->getMessage()); } } @@ -359,7 +360,7 @@ class PurchaseProductOfferLogic extends BaseLogic $storeProductGroupPrice = StoreProductGroupPrice::where('product_id', $product['id'])->select()->toArray(); $storeProductGroupPrice = reset_index($storeProductGroupPrice, 'group_id'); $purchase=0; - foreach ($storeProductGroupPrice as $k => $v) { + foreach ($productCatePriceRate as $k => $v) { if ($v['id'] == 100001) { //供货 $data['purchase_lv'] = bcdiv($v['rate'], 100, 2); @@ -368,13 +369,10 @@ class PurchaseProductOfferLogic extends BaseLogic break; } } - foreach ($productCatePriceRate as $k => $v) { if ($v['id'] == 4 &&$purchase>0) { //商户 $data['cost_lv'] = bcdiv($v['rate'], 100, 2); - $data['purchase_lv'] = bcdiv($v['rate'], 100, 2); - $purchase=bcmul($purchase, bcadd($data['purchase_lv'], 1, 2), 2); $data['cost'] = bcmul($purchase, bcadd($data['cost_lv'], 1, 2), 2); continue; }elseif ($v['id'] == 100002 &&$purchase>0) {