|
@@ -629,20 +629,32 @@ class UserController
|
|
|
*/
|
|
|
public function weighting(Request $request)
|
|
|
{
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
$start = strtotime('yesterday');
|
|
|
$end = strtotime('today');
|
|
|
$money = StoreOrder::where('paid', 1)->whereBetweenTime('add_time', $start, $end)->where('is_explosion_order', 1)->sum('pay_price');
|
|
|
|
|
|
- $partnerCount = User::sum('stock_right');
|
|
|
- $shareholderCount = User::where('level', 3)->count();
|
|
|
- $directorCount = User::where('level', 4)->count();
|
|
|
+ $userUid = User::where('level', 1)->column('uid');
|
|
|
+ $userOrder = StoreOrder::where('paid', 1)->where('is_explosion_order', 1)->sum('total_num');
|
|
|
+ $partnerCount = User::where('level', '>=',2)->count();
|
|
|
+ $shareholderCount = User::where('level', '>=',3)->count();
|
|
|
+ $directorCount = User::where('level', '>=',4)->count();
|
|
|
|
|
|
$partner = sys_config('partner')/100;
|
|
|
$shareholder = sys_config('shareholder')/100;
|
|
|
$director = sys_config('director')/100;
|
|
|
$user = User::where('level', '>=', 1)->select()->toArray();
|
|
|
|
|
|
-
|
|
|
+ $userMoney = 0;
|
|
|
+ if ($userOrder > 0){
|
|
|
+ $userMoney = $money * $partner/$userOrder;
|
|
|
+ }
|
|
|
$partnerMoney = 0;
|
|
|
if ($partnerCount > 0){
|
|
|
$partnerMoney = $money * $partner/$partnerCount;
|
|
@@ -660,26 +672,34 @@ class UserController
|
|
|
foreach ($user as $vo) {
|
|
|
$jl = 0;
|
|
|
$str = '';
|
|
|
- if ($vo['level'] == 1) {
|
|
|
-
|
|
|
- $str = '会员分红';
|
|
|
- $jl += $partnerMoney * $vo['stock_right'];
|
|
|
- $sp_jl = $partnerMoney * $vo['stock_right'];
|
|
|
- } elseif ($vo['level'] == 2) {
|
|
|
-
|
|
|
- $str = '合伙人分红';
|
|
|
- $jl += $partnerMoney * $vo['stock_right'];
|
|
|
- } elseif ($vo['level'] == 3) {
|
|
|
+ $orderCount = StoreOrder::where('paid', 1)->where('uid', $vo['uid'])->where('is_explosion_order', 1)->sum('total_num');
|
|
|
+ $jl += $userMoney * $orderCount;
|
|
|
+ $userjl = $userMoney * $orderCount;
|
|
|
+ $sp_jl = $userMoney * $orderCount;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if ($vo['level'] == 3){
|
|
|
|
|
|
- $str = '股东分红';
|
|
|
- $jl += $partnerMoney * $vo['stock_right'];
|
|
|
$jl += $shareholderMoney;
|
|
|
+ $shareholderjl = $shareholderMoney;
|
|
|
} elseif ($vo['level'] == 4) {
|
|
|
|
|
|
- $str = '董事分红';
|
|
|
- $jl += $partnerMoney * $vo['stock_right'];
|
|
|
$jl += $shareholderMoney;
|
|
|
$jl += $directorMoney;
|
|
|
+ $shareholderjl = $shareholderMoney;
|
|
|
+ $directorjl = $directorMoney;
|
|
|
}
|
|
|
$model = new UserSingleAward();
|
|
|
$award = $model->where('uid', $vo['uid'])->where('status', 0)->select()->toArray();
|
|
@@ -701,39 +721,47 @@ class UserController
|
|
|
}
|
|
|
}
|
|
|
$model->saveAll($award);
|
|
|
- UserBill::income('佣金', $vo['uid'], 'now_money', 'brokerage', $bdjl, '', $vo['brokerage_price'] + $bdjl, $str);
|
|
|
+ UserBill::income('佣金', $vo['uid'], 'now_money', 'brokerage', $userjl, '', $vo['brokerage_price'] + $userjl, '会员分红');
|
|
|
+ if ($vo['level'] == 3){
|
|
|
+
|
|
|
+ UserBill::income('佣金', $vo['uid'], 'now_money', 'brokerage', $shareholderjl, '', $vo['brokerage_price'] + $userjl+ $shareholderjl, '股东分红');
|
|
|
+ }elseif ($vo['level'] == 4){
|
|
|
+
|
|
|
+ UserBill::income('佣金', $vo['uid'], 'now_money', 'brokerage', $shareholderjl, '', $vo['brokerage_price'] + $userjl + $shareholderjl, '股东分红');
|
|
|
+ UserBill::income('佣金', $vo['uid'], 'now_money', 'brokerage', $directorjl, '', $vo['brokerage_price'] + $userjl + $shareholderjl + $directorjl, '董事分红');
|
|
|
+ }
|
|
|
User::where('uid', $vo['uid'])->inc('brokerage_price', $bdjl)->update();
|
|
|
|
|
|
- if ($vo['level'] == 1){
|
|
|
-
|
|
|
- if ($vo['spread_uid']){
|
|
|
- $spread = User::where('uid', $vo['spread_uid'])->where('level', '>=', 1)->find();
|
|
|
- if ($spread){
|
|
|
- $model = new UserSingleAward();
|
|
|
- $award = $model->where('uid', $spread['uid'])->where('status', 0)->select()->toArray();
|
|
|
- if ($award){
|
|
|
- $bdjl = 0;
|
|
|
- foreach ($award as &$item){
|
|
|
- $surplus = $item['money'] - $item['grant'];
|
|
|
- if ($sp_jl > 0){
|
|
|
- if ($surplus < $sp_jl){
|
|
|
- $bdjl += $surplus;
|
|
|
- $sp_jl -= $surplus;
|
|
|
- $item['status'] = 1;
|
|
|
- $item['grant'] = $item['money'];
|
|
|
- }else{
|
|
|
- $bdjl += $sp_jl;
|
|
|
- $item['grant'] += $sp_jl;
|
|
|
- $sp_jl = 0;
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+ if ($vo['spread_uid']){
|
|
|
+ $spread = User::where('uid', $vo['spread_uid'])->where('level', '>=', 1)->find();
|
|
|
+ if ($spread){
|
|
|
+ $model = new UserSingleAward();
|
|
|
+ $award = $model->where('uid', $spread['uid'])->where('status', 0)->select()->toArray();
|
|
|
+ if ($award){
|
|
|
+ $bdjl = 0;
|
|
|
+ foreach ($award as &$item){
|
|
|
+ $surplus = $item['money'] - $item['grant'];
|
|
|
+ if ($sp_jl > 0){
|
|
|
+ if ($surplus < $sp_jl){
|
|
|
+ $bdjl += $surplus;
|
|
|
+ $sp_jl -= $surplus;
|
|
|
+ $item['status'] = 1;
|
|
|
+ $item['grant'] = $item['money'];
|
|
|
+ }else{
|
|
|
+ $bdjl += $sp_jl;
|
|
|
+ $item['grant'] += $sp_jl;
|
|
|
+ $sp_jl = 0;
|
|
|
}
|
|
|
}
|
|
|
- $model->saveAll($award);
|
|
|
- UserBill::income('佣金', $spread['uid'], 'now_money', 'brokerage', $bdjl, '', $spread['brokerage_price']+$bdjl, '分享会员分红');
|
|
|
- User::where('uid', $spread['uid'])->inc('brokerage_price', $bdjl)->update();
|
|
|
}
|
|
|
+ $model->saveAll($award);
|
|
|
+ UserBill::income('佣金', $spread['uid'], 'now_money', 'brokerage', $userjl, '', $spread['brokerage_price']+$userjl, '合伙人分红');
|
|
|
+ User::where('uid', $spread['uid'])->inc('brokerage_price', $bdjl)->update();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|