$user_id ]); $level2_num=UserLevelModel::getUserLevelCount([ 'grandpa_id'=>$user_id ]); $level3_num=UserLevelModel::getUserLevelCount([ 'top_id'=>$user_id ]); //总人数 $total_num=$level_num+$level2_num+$level3_num; $users_level=UserLevelModel::getUsers([ 'parent_id'=>$user_id ]); if(!empty($users_level)){ $users_level_arr=array_column($users_level,'user_id'); $pay_level=RechargeApplyModel::getUserPayNum($users_level_arr); }else{ $pay_level=0; } $users_level2=UserLevelModel::getUsers([ 'grandpa_id'=>$user_id ]); if(!empty($users_level2)){ $users_level2_arr=array_column($users_level2,'user_id'); $pay_level2=RechargeApplyModel::getUserPayNum($users_level2_arr); }else{ $pay_level2=0; } $users_level3=UserLevelModel::getUsers([ 'top_id'=>$user_id ]); if(!empty($users_level3)){ $users_level3_arr=array_column($users_level3,'user_id'); $pay_level3=RechargeApplyModel::getUserPayNum($users_level3_arr); }else{ $pay_level3=0; } $total_pay=$pay_level+$pay_level2+$pay_level3; //总收入 $level_back_num=UserBrokerageModel::getUserBrokerageNum([ 'user_id'=>$user_id, 'level_type'=>1 ],'brokerage_num'); $level2_back_num=UserBrokerageModel::getUserBrokerageNum([ 'user_id'=>$user_id, 'level_type'=>2 ],'brokerage_num'); $level3_back_num=UserBrokerageModel::getUserBrokerageNum([ 'user_id'=>$user_id, 'level_type'=>3 ],'brokerage_num'); $total_back_num=$level_back_num+$level2_back_num+$level3_back_num; //今日收入 $today=date('Y-m-d 00:00:00'); $level_today_num=UserBrokerageModel::getUserBrokerageNum([ ['user_id','=',$user_id], ['level_type','=',1], ['create_time','>=',$today], ],'brokerage_num'); $level2_today_num=UserBrokerageModel::getUserBrokerageNum([ ['user_id','=',$user_id], ['level_type','=',2], ['create_time','>=',$today], ],'brokerage_num'); $level3_today_num=UserBrokerageModel::getUserBrokerageNum([ ['user_id','=',$user_id], ['level_type','=',3], ['create_time','>=',$today], ],'brokerage_num'); $today_back_num=$level_today_num+$level2_today_num+$level3_today_num; $result=[ 'total_num'=>[ 'reg_num'=>$total_num, 'recharge_num'=>$total_pay, 'back_num'=>$total_back_num, 'today_back_num'=>$today_back_num ], 'level1'=>[ 'reg_num'=>$level_num, 'recharge_num'=>$pay_level, 'back_num'=>$level_back_num, 'today_back_num'=>$level2_today_num ], 'level2'=>[ 'reg_num'=>$level2_num, 'recharge_num'=>$pay_level2, 'back_num'=>$level2_back_num, 'today_back_num'=>$level2_today_num ], 'level3'=>[ 'reg_num'=>$level3_num, 'recharge_num'=>$pay_level3, 'back_num'=>$level3_back_num, 'today_back_num'=>$level3_today_num ] ]; return $this->toData(0,'Request successful.',$result); } public function getUserTeamBack(array $data) : array { $list=UserBrokerageModel::getUserBrokerageList($data); return $this->toData(0,'Request successful.',$list); } public function getUserTeamList(array $data):array { $list=UserLevelModel::getUserTeamList($data); return $this->toData(0,'Request successful.',$list); } //注册返佣 public function regBrokerage(int $parent_id,int $grandpa_id,int $top_id) { $reg_brokerage_stting=$this->getBrokerageRegSetting(); $reg_parent_brokerage=$reg_brokerage_stting['parent_fee']; $reg_grandpa_brokerage=$reg_brokerage_stting['grandpa_fee']; $reg_top_brokerage=$reg_brokerage_stting['top_fee']; if($reg_parent_brokerage>0 && $parent_id>0){ $this->addUserBrokerage([ 'user_id'=>$parent_id, 'level_type'=>1, 'back_type'=>0, 'brokerage_num'=>$reg_parent_brokerage, 'service_fee'=>0, 'create_time'=>date('Y-m-d H:i:s'), ]); } if($reg_grandpa_brokerage>0 && $grandpa_id>0){ $this->addUserBrokerage([ 'user_id'=>$grandpa_id, 'level_type'=>2, 'back_type'=>0, 'brokerage_num'=>$reg_parent_brokerage, 'service_fee'=>0, 'create_time'=>date('Y-m-d H:i:s'), ]); } if($reg_top_brokerage>0 && $top_id>0){ $this->addUserBrokerage([ 'user_id'=>$top_id, 'level_type'=>3, 'back_type'=>0, 'brokerage_num'=>$reg_parent_brokerage, 'service_fee'=>0, 'create_time'=>date('Y-m-d H:i:s'), ]); } } private function addUserBrokerage($data) { UserBrokerageModel::InsertUserBrokerage($data); //查询提现资金账户信息 $from_account=(new WalletService())->lockUserBalance(1,$data['user_id']); if(!empty($from_account)){ $from_update['usable_num']=$from_account['usable_num']+$data['brokerage_num']; (new WalletService())->updateUserBalance(1,$from_update,$data['user_id']); $to_log['user_id']=$data['user_id']; $to_log['change_type']=9; $to_log['change_num']=$data['brokerage_num']; $to_log['before_num']=$from_update['usable_num']; (new WalletService())->addUserBalanceLog(1,$to_log); } } }