处理分组价格设置的错误
This commit is contained in:
parent
4a06cb516f
commit
b110e042d8
@ -307,12 +307,6 @@ class PurchaseProductOfferLogic extends BaseLogic
|
|||||||
|
|
||||||
public static function setProductGroupPrice($params, $product)
|
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 = [];
|
$priceConfig = [];
|
||||||
$data = [
|
$data = [
|
||||||
'bhoid' => $params['bhoid'],
|
'bhoid' => $params['bhoid'],
|
||||||
@ -323,45 +317,50 @@ class PurchaseProductOfferLogic extends BaseLogic
|
|||||||
'update_time' => time(),
|
'update_time' => time(),
|
||||||
'status' => 0,
|
'status' => 0,
|
||||||
];
|
];
|
||||||
foreach ($productCatePriceRate as $k => $v) {
|
$productCatePriceRate = StoreCategory::where('id', $product['top_cate_id'])->value('price_rate');
|
||||||
if ($v['id'] == 4) {
|
if (!empty($productCatePriceRate)) {
|
||||||
$data['cost_lv'] = bcdiv($v['rate'], 100, 2);
|
$storeProductGroupPrice = StoreProductGroupPrice::where('product_id', $product['id'])->select()->toArray();
|
||||||
$data['cost'] = bcmul($params['purchase'], bcadd($data['cost_lv'], 1, 2), 2);
|
$storeProductGroupPrice = reset_index($storeProductGroupPrice, 'group_id');
|
||||||
continue;
|
foreach ($productCatePriceRate as $k => $v) {
|
||||||
} elseif ($v['id'] == 100001) {
|
if ($v['id'] == 4) {
|
||||||
$data['purchase_lv'] = bcdiv($v['rate'], 100, 2);
|
$data['cost_lv'] = bcdiv($v['rate'], 100, 2);
|
||||||
$data['purchase'] = bcmul($params['purchase'], bcadd($data['purchase_lv'], 1, 2), 2);
|
$data['cost'] = bcmul($params['purchase'], bcadd($data['cost_lv'], 1, 2), 2);
|
||||||
continue;
|
continue;
|
||||||
} elseif ($v['id'] == 100002) {
|
} elseif ($v['id'] == 100001) {
|
||||||
$data['price_lv'] = bcdiv($v['rate'], 100, 2);
|
$data['purchase_lv'] = bcdiv($v['rate'], 100, 2);
|
||||||
$data['price'] = bcmul($params['purchase'], bcadd($data['price_lv'], 1, 2), 1);
|
$data['purchase'] = bcmul($params['purchase'], bcadd($data['purchase_lv'], 1, 2), 2);
|
||||||
if ($product['two_cate_id'] == 15268) {
|
continue;
|
||||||
$lastNum = substr($data['price'], -1);
|
} elseif ($v['id'] == 100002) {
|
||||||
if ($lastNum <= 2) {
|
$data['price_lv'] = bcdiv($v['rate'], 100, 2);
|
||||||
$data['price'] = floor($data['price']);
|
$data['price'] = bcmul($params['purchase'], bcadd($data['price_lv'], 1, 2), 1);
|
||||||
} elseif ($lastNum < 5) {
|
if ($product['two_cate_id'] == 15268) {
|
||||||
$data['price'] = bcadd(floor($data['price']), 0.5, 1);
|
$lastNum = substr($data['price'], -1);
|
||||||
} else {
|
if ($lastNum <= 2) {
|
||||||
$data['price'] = bcadd(floor($data['price']), 1, 1);
|
$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;
|
$data['price_config'] = $priceConfig;
|
||||||
$find = StoreProductPrice::where(['offer_id' => $params['id']])->find();
|
$find = StoreProductPrice::where(['offer_id' => $params['id']])->find();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user