From b110e042d8855e2cd46927e075c61178bcf9b33d Mon Sep 17 00:00:00 2001 From: "DESKTOP-GMUNQ1B\\Administrator" <604446095@qq.com> Date: Tue, 17 Dec 2024 14:31:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=88=86=E7=BB=84?= =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E8=AE=BE=E7=BD=AE=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 | 83 +++++++++---------- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php index b6e7c8c48..ad3c317c1 100644 --- a/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php +++ b/app/admin/logic/purchase_product_offer/PurchaseProductOfferLogic.php @@ -307,12 +307,6 @@ class PurchaseProductOfferLogic extends BaseLogic public static function setProductGroupPrice($params, $product) { - $productCatePriceRate = StoreCategory::where('id', $product['top_cate_id'])->value('price_rate'); - if (empty($productCatePriceRate)) { - return; - } - $storeProductGroupPrice = StoreProductGroupPrice::where('product_id', $product['id'])->select()->toArray(); - $storeProductGroupPrice = reset_index($storeProductGroupPrice, 'group_id'); $priceConfig = []; $data = [ 'bhoid' => $params['bhoid'], @@ -323,45 +317,50 @@ class PurchaseProductOfferLogic extends BaseLogic 'update_time' => time(), 'status' => 0, ]; - foreach ($productCatePriceRate as $k => $v) { - if ($v['id'] == 4) { - $data['cost_lv'] = bcdiv($v['rate'], 100, 2); - $data['cost'] = bcmul($params['purchase'], bcadd($data['cost_lv'], 1, 2), 2); - continue; - } elseif ($v['id'] == 100001) { - $data['purchase_lv'] = bcdiv($v['rate'], 100, 2); - $data['purchase'] = bcmul($params['purchase'], bcadd($data['purchase_lv'], 1, 2), 2); - continue; - } elseif ($v['id'] == 100002) { - $data['price_lv'] = bcdiv($v['rate'], 100, 2); - $data['price'] = bcmul($params['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); + $productCatePriceRate = StoreCategory::where('id', $product['top_cate_id'])->value('price_rate'); + if (!empty($productCatePriceRate)) { + $storeProductGroupPrice = StoreProductGroupPrice::where('product_id', $product['id'])->select()->toArray(); + $storeProductGroupPrice = reset_index($storeProductGroupPrice, 'group_id'); + foreach ($productCatePriceRate as $k => $v) { + if ($v['id'] == 4) { + $data['cost_lv'] = bcdiv($v['rate'], 100, 2); + $data['cost'] = bcmul($params['purchase'], bcadd($data['cost_lv'], 1, 2), 2); + continue; + } elseif ($v['id'] == 100001) { + $data['purchase_lv'] = bcdiv($v['rate'], 100, 2); + $data['purchase'] = bcmul($params['purchase'], bcadd($data['purchase_lv'], 1, 2), 2); + continue; + } elseif ($v['id'] == 100002) { + $data['price_lv'] = bcdiv($v['rate'], 100, 2); + $data['price'] = bcmul($params['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 = 100 + $v['rate']; + $item = [ + 'product_id' => $product['id'], + 'group_id' => $v['id'], + 'group_name' => $v['title'], + 'price' => bcmul($params['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($params['purchase'], $item['base_rate'] / 100, 2); + $item['id'] = $storeProductGroupPrice[$v['id']]['id']; + } + $priceConfig[] = $item; } - $baseRate = 100 + $v['rate']; - $item = [ - 'product_id' => $product['id'], - 'group_id' => $v['id'], - 'group_name' => $v['title'], - 'price' => bcmul($params['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($params['purchase'], $item['base_rate'] / 100, 2); - $item['id'] = $storeProductGroupPrice[$v['id']]['id']; - } - $priceConfig[] = $item; } $data['price_config'] = $priceConfig; $find = StoreProductPrice::where(['offer_id' => $params['id']])->find(); From 516adaf6748bde69615e0dbf9cc8a45d35c41bbc Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Wed, 18 Dec 2024 12:12:53 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor(app):=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=92=8C=E5=88=A0=E9=99=A4=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E5=BA=97=E9=93=BA=E9=85=8D=E7=BD=AE=E6=A3=80?= =?UTF-8?q?=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 注释掉了 StoreOrderCartInfoLogic 类中的两段代码,分别位于编辑订单和删除订单的方法中 - 这些代码段原本用于检查店铺配置和验证订单是否属于可设置店铺 - 移除这些检查后,编辑和删除操作将不再受限于店铺配置 --- .../StoreOrderCartInfoLogic.php | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/app/admin/logic/store_order_cart_info/StoreOrderCartInfoLogic.php b/app/admin/logic/store_order_cart_info/StoreOrderCartInfoLogic.php index 711996c56..f0eaa7cfa 100644 --- a/app/admin/logic/store_order_cart_info/StoreOrderCartInfoLogic.php +++ b/app/admin/logic/store_order_cart_info/StoreOrderCartInfoLogic.php @@ -106,13 +106,13 @@ class StoreOrderCartInfoLogic extends BaseLogic if($find['is_pay']==1){ throw new BusinessException('已支付订单无法编辑'); } - $value=DictData::where('type_value','vendors_store')->column('value'); - if(!$value){ - throw new BusinessException('请先配置店铺'); - } - if(!in_array($find['store_id'],$value)){ - throw new BusinessException('该订单不属于可设置店铺'); - } + // $value=DictData::where('type_value','vendors_store')->column('value'); + // if(!$value){ + // throw new BusinessException('请先配置店铺'); + // } + // if(!in_array($find['store_id'],$value)){ + // throw new BusinessException('该订单不属于可设置店铺'); + // } $find->cart_num = $params['cart_num']; $find->total_price = bcmul($params['cart_num'], $find->price, 2); $find->save(); @@ -144,13 +144,13 @@ class StoreOrderCartInfoLogic extends BaseLogic if($find['is_pay']==1){ throw new BusinessException('已支付订单无法删除'); } - $value=DictData::where('type_value','vendors_store')->column('value'); - if(!$value){ - throw new BusinessException('请先配置店铺'); - } - if(!in_array($find['store_id'],$value)){ - throw new BusinessException('该订单不属于可设置店铺'); - } + // $value=DictData::where('type_value','vendors_store')->column('value'); + // if(!$value){ + // throw new BusinessException('请先配置店铺'); + // } + // if(!in_array($find['store_id'],$value)){ + // throw new BusinessException('该订单不属于可设置店铺'); + // } $find->delete_time=time(); $find->save(); $total_price = StoreOrderCartInfo::where('oid', $find['oid'])->sum('total_price');