|
@@ -2514,21 +2514,25 @@ class StoreOrder extends BaseModel
|
|
|
$suit_award = 0;
|
|
$suit_award = 0;
|
|
|
$suit_price = 0;
|
|
$suit_price = 0;
|
|
|
$extra_price = 0;
|
|
$extra_price = 0;
|
|
|
|
|
+ $calculator_ratio = sys_config('calculator_ratio', 80);
|
|
|
foreach ($cartInfo as $value) {
|
|
foreach ($cartInfo as $value) {
|
|
|
$product = json_decode($value, true);
|
|
$product = json_decode($value, true);
|
|
|
if (isset($product['productInfo'])) {
|
|
if (isset($product['productInfo'])) {
|
|
|
$productInfo = $product['productInfo'];
|
|
$productInfo = $product['productInfo'];
|
|
|
if (($productInfo['attrInfo']['brokerage_suit'] ?? 0) > 0) {
|
|
if (($productInfo['attrInfo']['brokerage_suit'] ?? 0) > 0) {
|
|
|
$suit_award += $product['productInfo']['attrInfo']['brokerage_suit'] * $product['cart_num'];
|
|
$suit_award += $product['productInfo']['attrInfo']['brokerage_suit'] * $product['cart_num'];
|
|
|
- $suit_price += ($productInfo['attrInfo']['price'] ?? $product['price']) * $product['cart_num'];
|
|
|
|
|
|
|
+ $suit_price += bcsub(($productInfo['attrInfo']['price'] ?? $product['price']), ($productInfo['attrInfo']['cost'] ?? $product['cost']), 2) * $product['cart_num'];
|
|
|
|
|
+ $suit_price = bcdiv(bcmul($suit_price, $calculator_ratio), 100, 2);
|
|
|
if ($product['is_suit']) $suit_exit += $product['cart_num'] ?? 0;
|
|
if ($product['is_suit']) $suit_exit += $product['cart_num'] ?? 0;
|
|
|
}
|
|
}
|
|
|
if ($product['is_suit']) {
|
|
if ($product['is_suit']) {
|
|
|
$suit += $product['cart_num'] ?? 0;
|
|
$suit += $product['cart_num'] ?? 0;
|
|
|
- $suit_price += ($productInfo['attrInfo']['price'] ?? $product['price']) * $product['cart_num'];
|
|
|
|
|
|
|
+ $suit_price += bcsub(($productInfo['attrInfo']['price'] ?? $product['price']), ($productInfo['attrInfo']['cost'] ?? $product['cost']), 2) * $product['cart_num'];
|
|
|
|
|
+ $suit_price = bcdiv(bcmul($suit_price, $calculator_ratio), 100, 2);
|
|
|
}
|
|
}
|
|
|
if (!$product['is_award']) {
|
|
if (!$product['is_award']) {
|
|
|
- $extra_price += ($productInfo['attrInfo']['price'] ?? $product['price']) * $product['cart_num'];
|
|
|
|
|
|
|
+ $extra_price += bcsub(($productInfo['attrInfo']['price'] ?? $product['price']), ($productInfo['attrInfo']['cost'] ?? $product['cost']), 2) * $product['cart_num'];
|
|
|
|
|
+ $extra_price = bcdiv(bcmul($extra_price, $calculator_ratio), 100, 2);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -2677,7 +2681,8 @@ class StoreOrder extends BaseModel
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if ($order['use_integral'] > 0) {
|
|
if ($order['use_integral'] > 0) {
|
|
|
- $brokeragePrice = bcmul(bcdiv($lay_award['integral_award'], 100, 4), bcsub(bcsub($order['total_price'], $suit_price, 2), $extra_price, 2), 2);
|
|
|
|
|
|
|
+ $award_price_num = bcsub(bcsub(bcdiv(bcmul(bcsub($order['total_price'], $order['cost'], 2), $calculator_ratio), 100, 2), $suit_price, 2), $extra_price, 2);
|
|
|
|
|
+ $brokeragePrice = bcmul(bcdiv($lay_award['integral_award'], 100, 4), $award_price_num, 2);
|
|
|
if ($brokeragePrice > 0) {
|
|
if ($brokeragePrice > 0) {
|
|
|
$mark = '用户' . $userInfo['nickname'] . '(' . $order['uid'] . ')' . '购买积分商品,获得见点奖励' . $brokeragePrice;
|
|
$mark = '用户' . $userInfo['nickname'] . '(' . $order['uid'] . ')' . '购买积分商品,获得见点奖励' . $brokeragePrice;
|
|
|
$res = $res && UserBill::income('见点奖', $spread['uid'], 'now_money', 'brokerage', $brokeragePrice, $order['id'], bcadd($balance, $brokeragePrice, 2), $mark);
|
|
$res = $res && UserBill::income('见点奖', $spread['uid'], 'now_money', 'brokerage', $brokeragePrice, $order['id'], bcadd($balance, $brokeragePrice, 2), $mark);
|
|
@@ -2692,11 +2697,13 @@ class StoreOrder extends BaseModel
|
|
|
if (!$group_level) {
|
|
if (!$group_level) {
|
|
|
$group_award_basic = sys_config('group_award_basic', 0);
|
|
$group_award_basic = sys_config('group_award_basic', 0);
|
|
|
$integral_group_award_basic = sys_config('integral_group_award_basic', 0);
|
|
$integral_group_award_basic = sys_config('integral_group_award_basic', 0);
|
|
|
- $brokeragePrice = bcmul(bcdiv($group_award_basic, 100, 4), bcsub(bcsub($order['total_price'], $suit_price, 2), $extra_price, 2), 2);
|
|
|
|
|
- if ($order['use_integral'] > 0) $brokeragePrice = bcmul(bcdiv($integral_group_award_basic, 100, 4), bcsub(bcsub($order['total_price'], $suit_price, 2), $extra_price, 2), 2);
|
|
|
|
|
|
|
+ $award_price_num = bcsub(bcsub(bcdiv(bcmul(bcsub($order['total_price'], $order['cost'], 2), $calculator_ratio), 100, 2), $suit_price, 2), $extra_price, 2);
|
|
|
|
|
+ $brokeragePrice = bcmul(bcdiv($group_award_basic, 100, 4), $award_price_num, 2);
|
|
|
|
|
+ if ($order['use_integral'] > 0) $brokeragePrice = bcmul(bcdiv($integral_group_award_basic, 100, 4), bcsub(bcsub(bcsub($order['total_price'], $order['cost'], 2), $suit_price, 2), $extra_price, 2), 2);
|
|
|
} else {
|
|
} else {
|
|
|
- $brokeragePrice = bcmul(bcdiv($group_level['group_award'], 100, 4), bcsub(bcsub($order['total_price'], $suit_price, 2), $extra_price, 2), 2);
|
|
|
|
|
- if ($order['use_integral'] > 0) $brokeragePrice = bcmul(bcdiv($group_level['integral_group_award'], 100, 4), bcsub(bcsub($order['total_price'], $suit_price, 2), $extra_price, 2), 2);
|
|
|
|
|
|
|
+ $award_price_num = bcsub(bcsub(bcdiv(bcmul(bcsub($order['total_price'], $order['cost'], 2), $calculator_ratio), 100, 2), $suit_price, 2), $extra_price, 2);
|
|
|
|
|
+ $brokeragePrice = bcmul(bcdiv($group_level['group_award'], 100, 4), $award_price_num, 2);
|
|
|
|
|
+ if ($order['use_integral'] > 0) $brokeragePrice = bcmul(bcdiv($group_level['integral_group_award'], 100, 4), $award_price_num, 2);
|
|
|
}
|
|
}
|
|
|
if ($brokeragePrice > $send_normal) {
|
|
if ($brokeragePrice > $send_normal) {
|
|
|
$real_send = bcsub($brokeragePrice, $send_normal, 2);
|
|
$real_send = bcsub($brokeragePrice, $send_normal, 2);
|