|
@@ -2522,30 +2522,69 @@ class StoreOrder extends BaseModel
|
|
|
$group_level = SystemGroupLevel::get($spread['group_level']);
|
|
|
$award_level = SystemGroupLevel::get($spread['award_level']);
|
|
|
if ($suit) {
|
|
|
- if ($group_level) {
|
|
|
- if (!$award_level) {
|
|
|
- $award = SystemGroupLevel::min('suit_award');
|
|
|
- $brokeragePrice = bcmul($award, $suit, 2);
|
|
|
- if ($brokeragePrice > $send) {
|
|
|
- $real_send = bcsub($brokeragePrice, $send, 2);
|
|
|
+ $award_group = $group_level['suit_award'] ?? 0;
|
|
|
+ $award_award = $award_level['suit_award'] ?? 0;
|
|
|
+ $big = $award_group > $award_award ? $group_level['id'] : $award_level['id'];
|
|
|
+ $brokeragePrice_a = bcmul($award_award, $suit, 2);
|
|
|
+ $brokeragePrice_g = bcmul($award_group, $suit, 2);
|
|
|
+ $brokeragePrice_big = $brokeragePrice_a > $brokeragePrice_g ? $brokeragePrice_a : $brokeragePrice_g;
|
|
|
+ $brokeragePrice_small = $brokeragePrice_a > $brokeragePrice_g ? $brokeragePrice_g : $brokeragePrice_a;
|
|
|
+ if ($brokeragePrice_big == $brokeragePrice_small) {
|
|
|
+ $brokeragePrice = $brokeragePrice_big;
|
|
|
+ if ($brokeragePrice > $send) {
|
|
|
+ $real_send = bcsub($brokeragePrice, $send, 2);
|
|
|
+ if ($real_send > 0) {
|
|
|
$mark = '用户' . $userInfo['nickname'] . '(' . $order['uid'] . ')' . '购买套装商品,获得极差奖励' . $real_send;
|
|
|
- $res = $res && UserBill::income('套装极差奖', $spread['uid'], 'now_money', 'brokerage', $real_send, $order['id'], $spread['brokerage_price'], $mark, 0);
|
|
|
+ $res = $res && UserBill::income('套装极差奖', $spread['uid'], 'now_money', 'brokerage', $real_send, $order['id'], bcadd($spread['brokerage_price'], $real_send, 2), $mark);
|
|
|
+ $res = $res && User::where('uid', $spread['uid'])->inc('brokerage_price', $real_send)->update();
|
|
|
$send = $brokeragePrice;
|
|
|
}
|
|
|
- } else {
|
|
|
- $award = $group_level['suit_award'] > $award_level['suit_award'] ? $award_level['suit_award'] : $group_level['suit_award'];
|
|
|
- $brokeragePrice = bcmul($award, $suit, 2);
|
|
|
- if ($brokeragePrice > $send) {
|
|
|
- $real_send = bcsub($brokeragePrice, $send, 2);
|
|
|
- if ($real_send > 0) {
|
|
|
- $mark = '用户' . $userInfo['nickname'] . '(' . $order['uid'] . ')' . '购买套装商品,获得极差奖励' . $real_send;
|
|
|
- $res = $res && UserBill::income('套装极差奖', $spread['uid'], 'now_money', 'brokerage', $real_send, $order['id'], bcadd($spread['brokerage_price'], $real_send, 2), $mark);
|
|
|
- $res = $res && User::where('uid', $spread['uid'])->inc('brokerage_price', $real_send)->update();
|
|
|
- $send = $brokeragePrice;
|
|
|
- }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $brokeragePrice = $brokeragePrice_small;
|
|
|
+ if ($brokeragePrice > $send) {
|
|
|
+ $real_send = bcsub($brokeragePrice, $send, 2);
|
|
|
+ if ($real_send > 0) {
|
|
|
+ $mark = '用户' . $userInfo['nickname'] . '(' . $order['uid'] . ')' . '购买套装商品,获得极差奖励' . $real_send;
|
|
|
+ $res = $res && UserBill::income('套装极差奖', $spread['uid'], 'now_money', 'brokerage', $real_send, $order['id'], bcadd($spread['brokerage_price'], $real_send, 2), $mark);
|
|
|
+ $res = $res && User::where('uid', $spread['uid'])->inc('brokerage_price', $real_send)->update();
|
|
|
+ $send = $brokeragePrice;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $brokeragePrice = $brokeragePrice_big;
|
|
|
+ if ($brokeragePrice > $send) {
|
|
|
+ $real_send = bcsub($brokeragePrice, $send, 2);
|
|
|
+ if ($real_send > 0) {
|
|
|
+ $mark = '用户' . $userInfo['nickname'] . '(' . $order['uid'] . ')' . '购买套装商品,获得极差奖励' . $real_send;
|
|
|
+ $res = $res && UserBill::income('套装极差奖', $spread['uid'], 'now_money', 'brokerage', $real_send, $order['id'], bcadd($spread['brokerage_price'], $real_send, 2), $mark, 0, $big);
|
|
|
+ $send = $brokeragePrice;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+// if ($group_level) {
|
|
|
+// if (!$award_level) {
|
|
|
+// $award = SystemGroupLevel::min('suit_award');
|
|
|
+// $brokeragePrice = bcmul($award, $suit, 2);
|
|
|
+// if ($brokeragePrice > $send) {
|
|
|
+// $real_send = bcsub($brokeragePrice, $send, 2);
|
|
|
+// $mark = '用户' . $userInfo['nickname'] . '(' . $order['uid'] . ')' . '购买套装商品,获得极差奖励' . $real_send;
|
|
|
+// $res = $res && UserBill::income('套装极差奖', $spread['uid'], 'now_money', 'brokerage', $real_send, $order['id'], $spread['brokerage_price'], $mark, 0);
|
|
|
+// $send = $brokeragePrice;
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// $award = $group_level['suit_award'] > $award_level['suit_award'] ? $award_level['suit_award'] : $group_level['suit_award'];
|
|
|
+// $brokeragePrice = bcmul($award, $suit, 2);
|
|
|
+// if ($brokeragePrice > $send) {
|
|
|
+// $real_send = bcsub($brokeragePrice, $send, 2);
|
|
|
+// if ($real_send > 0) {
|
|
|
+// $mark = '用户' . $userInfo['nickname'] . '(' . $order['uid'] . ')' . '购买套装商品,获得极差奖励' . $real_send;
|
|
|
+// $res = $res && UserBill::income('套装极差奖', $spread['uid'], 'now_money', 'brokerage', $real_send, $order['id'], bcadd($spread['brokerage_price'], $real_send, 2), $mark);
|
|
|
+// $res = $res && User::where('uid', $spread['uid'])->inc('brokerage_price', $real_send)->update();
|
|
|
+// $send = $brokeragePrice;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
if ($group_level) {
|
|
|
$brokeragePrice = bcmul(bcdiv($group_level['group_award'], 100, 4), bcsub($order['pay_price'], $suit_price, 2), 2);
|