|
@@ -112,4 +112,311 @@ class Agent extends Backend
|
|
|
return $this->view->fetch();
|
|
|
}
|
|
|
|
|
|
+ //日报
|
|
|
+ public function ribao(){
|
|
|
+ $result = [];
|
|
|
+
|
|
|
+ //日期
|
|
|
+ $today = date('Y-m-d');
|
|
|
+ $startday = input('startday',$today);
|
|
|
+ $starttime = strtotime($startday);
|
|
|
+ $endtime = $starttime + 86399;
|
|
|
+
|
|
|
+ //传入代理
|
|
|
+ $down_all_id = input('down_all_id',0);
|
|
|
+
|
|
|
+ //代理名
|
|
|
+ $result['agentname'] = $this->auth->agentname ?: $this->auth->nickname;
|
|
|
+ $result['yaoqingtime'] = $this->auth->yaoqingtime;
|
|
|
+ $result['startday'] = $startday;
|
|
|
+
|
|
|
+ //一级代理 下拉 可选二级代理
|
|
|
+ $down_all = $this->select_agent();
|
|
|
+ $result['down_all'] = $down_all;
|
|
|
+ //dump($down_all);
|
|
|
+
|
|
|
+ //确定收益统计范围
|
|
|
+ if(!empty($down_all_id)){
|
|
|
+ $downall_uid = Db::name('user')->where('intro_uid',$down_all_id)->column('id');//其下直推,A1下B0+B1 或 B1下C1
|
|
|
+ //$downall_uid[] = $down_all_id;
|
|
|
+ }else{
|
|
|
+ $down_uid = array_column($down_all,'id');
|
|
|
+ //dump($down_uid);
|
|
|
+ $downall_uid = Db::name('user')->where('intro_uid','IN',$down_uid)->column('id');//其下直推B0+代理下直推C1 或 C1
|
|
|
+ }
|
|
|
+ //dump($downall_uid);
|
|
|
+
|
|
|
+ //邀请奖励收益
|
|
|
+ $recharge_sum = Db::name('user_agentjewel_log')->where('user_id','IN',$downall_uid)->where('log_type',51)->where('createtime','BETWEEN',[$starttime,$endtime])->sum('change_value');
|
|
|
+ $result['recharge_sum'] = $recharge_sum;
|
|
|
+ //视频收益
|
|
|
+ $video_sum = Db::name('user_match_video_log')->where('to_user_id','IN',$downall_uid)->where('updatetime','BETWEEN',[$starttime,$endtime])->sum('money');
|
|
|
+ $result['video_sum'] = $video_sum;
|
|
|
+ //语音收益
|
|
|
+ $audio_sum = Db::name('user_match_audio_log')->where('to_user_id','IN',$downall_uid)->where('updatetime','BETWEEN',[$starttime,$endtime])->sum('money');
|
|
|
+ $result['audio_sum'] = $audio_sum;
|
|
|
+ //私信收益
|
|
|
+ $typing_sum= Db::name('user_match_typing_log')->where('to_user_id','IN',$downall_uid)->where('createtime','BETWEEN',[$starttime,$endtime])->sum('money');
|
|
|
+ $result['typing_sum'] = $typing_sum;
|
|
|
+ //礼物收益
|
|
|
+ $gift_sum = Db::name('gift_user_typing')->where('user_to_id','IN',$downall_uid)->where('createtime','BETWEEN',[$starttime,$endtime])->sum('getvalue');
|
|
|
+ $result['gift_sum'] = $gift_sum;
|
|
|
+ //总收益
|
|
|
+ $result['total'] = $recharge_sum + $video_sum + $audio_sum + $typing_sum + $gift_sum;
|
|
|
+ //在线用户
|
|
|
+ $active_num = Db::name('user_active')->where('user_id','IN',$downall_uid)->where('requesttime','BETWEEN',[$starttime,$endtime])->count();
|
|
|
+ $result['active_num'] = $active_num;
|
|
|
+ //收益用户
|
|
|
+ $a = Db::name('user_agentjewel_log')->where('user_id','IN',$downall_uid)->where('log_type',51)->where('createtime','BETWEEN',[$starttime,$endtime])->distinct(true)->field('user_id')->select();
|
|
|
+ $a1 = array_column($a,'user_id');
|
|
|
+
|
|
|
+ $b = Db::name('user_match_video_log')->where('to_user_id','IN',$downall_uid)->where('updatetime','BETWEEN',[$starttime,$endtime])->distinct(true)->field('to_user_id')->select();
|
|
|
+ $b1 = array_column($b,'to_user_id');
|
|
|
+
|
|
|
+ $c = Db::name('user_match_audio_log')->where('to_user_id','IN',$downall_uid)->where('updatetime','BETWEEN',[$starttime,$endtime])->distinct(true)->field('to_user_id')->select();
|
|
|
+ $c1 = array_column($c,'to_user_id');
|
|
|
+
|
|
|
+ $d = Db::name('user_match_typing_log')->where('to_user_id','IN',$downall_uid)->where('createtime','BETWEEN',[$starttime,$endtime])->distinct(true)->field('to_user_id')->select();
|
|
|
+ $d1 = array_column($d,'to_user_id');
|
|
|
+
|
|
|
+ $e = Db::name('gift_user_typing')->where('user_to_id','IN',$downall_uid)->where('createtime','BETWEEN',[$starttime,$endtime])->distinct(true)->field('user_to_id')->select();
|
|
|
+ $e1 = array_column($e,'user_to_id');
|
|
|
+// dump($a);
|
|
|
+// dump($a1);
|
|
|
+// dump($b);
|
|
|
+// dump($b1);
|
|
|
+// dump($c);
|
|
|
+// dump($c1);
|
|
|
+// dump($d);
|
|
|
+// dump($d1);
|
|
|
+// dump($e);
|
|
|
+// dump($e1);
|
|
|
+
|
|
|
+ $abcde = array_merge(array_merge($a1,$b1,$c1),$d1,$e1);
|
|
|
+ $shouyi_user = array_flip(array_flip($abcde));
|
|
|
+ $result['shouyi_num'] = count($shouyi_user);
|
|
|
+
|
|
|
+ $this->success(1,$result);
|
|
|
+ }
|
|
|
+ //下拉选择代理
|
|
|
+ private function select_agent(){
|
|
|
+ //一级代理下的二级代理
|
|
|
+ $down_agent_users = [];
|
|
|
+ if($this->auth->group_id == 3){
|
|
|
+ $down_agent_users = Db::name('user')->field('id,nickname,agentname')->where('agent_id',$this->auth->id)->select();
|
|
|
+ }
|
|
|
+
|
|
|
+ //追加自己。二级代理的,就只有自己
|
|
|
+ $self_agent = [['id'=>$this->auth->id,'nickname'=>$this->auth->nickname,'agentname'=>$this->auth->agentname]];
|
|
|
+
|
|
|
+ $down_all = array_merge($self_agent,$down_agent_users);
|
|
|
+
|
|
|
+ //没有代理名的用昵称
|
|
|
+ foreach($down_all as $key => $val){
|
|
|
+ $val['agentname'] = $val['agentname'] ?: $val['nickname'];
|
|
|
+ unset($val['nickname']);
|
|
|
+ $down_all[$key] = $val;
|
|
|
+ }
|
|
|
+
|
|
|
+ return $down_all;
|
|
|
+ }
|
|
|
+ //成员管理
|
|
|
+ public function all_user(){
|
|
|
+ $result = [];
|
|
|
+
|
|
|
+ //传入代理
|
|
|
+ $down_all_id = input('down_all_id',0);
|
|
|
+
|
|
|
+ //传入用户id
|
|
|
+ $get_username = input('get_username',0);
|
|
|
+
|
|
|
+ //一级代理 下拉 可选二级代理
|
|
|
+ $down_all = $this->select_agent();
|
|
|
+ $result['down_all'] = $down_all;
|
|
|
+ //dump($down_all);
|
|
|
+
|
|
|
+ //确定收益统计范围
|
|
|
+ if(!empty($down_all_id)){
|
|
|
+ $where = ['intro_uid' => $down_all_id];
|
|
|
+ if($get_username){
|
|
|
+ $where['username']= $get_username;
|
|
|
+ }
|
|
|
+ $downall_uid = Db::name('user')->where($where)->field('id,username,avatar,nickname,is_active,intro_uid,yaoqingtime')->order('yaoqingtime desc')->autopage()->select();//其下直推,A1下B0 或 B1下C1
|
|
|
+ //$downall_uid[] = $down_all_id;
|
|
|
+ }else{
|
|
|
+ $down_uid = array_column($down_all,'id');
|
|
|
+ $where = ['intro_uid' => ['IN',$down_uid]];
|
|
|
+ if($get_username){
|
|
|
+ $where['username']= $get_username;
|
|
|
+ }
|
|
|
+ //dump($down_uid);
|
|
|
+ $downall_uid = Db::name('user')->where($where)->field('id,username,avatar,nickname,is_active,intro_uid,yaoqingtime')->order('yaoqingtime desc')->autopage()->select();//其下直推B0+代理下直推C1 或 C1
|
|
|
+ }
|
|
|
+ //dump($downall_uid);
|
|
|
+
|
|
|
+ foreach($downall_uid as $key => &$user){
|
|
|
+ $user['agentname'] = Db::name('user')->where('id',$user['intro_uid'])->value('agentname');
|
|
|
+ //邀请奖励收益
|
|
|
+ $recharge_sum = Db::name('user_agentjewel_log')->where('user_id',$user['id'])->where('log_type',51)->sum('change_value');
|
|
|
+ $user['recharge_sum'] = $recharge_sum;
|
|
|
+ //视频收益
|
|
|
+ $video_sum = Db::name('user_match_video_log')->where('to_user_id',$user['id'])->sum('money');
|
|
|
+ $user['video_sum'] = $video_sum;
|
|
|
+ //语音收益
|
|
|
+ $audio_sum = Db::name('user_match_audio_log')->where('to_user_id',$user['id'])->sum('money');
|
|
|
+ $user['audio_sum'] = $audio_sum;
|
|
|
+ //私信收益
|
|
|
+ $typing_sum= Db::name('user_match_typing_log')->where('to_user_id',$user['id'])->sum('money');
|
|
|
+ $user['typing_sum'] = $typing_sum;
|
|
|
+ //礼物收益
|
|
|
+ $gift_sum = Db::name('gift_user_typing')->where('user_to_id',$user['id'])->sum('getvalue');
|
|
|
+ $user['gift_sum'] = $gift_sum;
|
|
|
+ //总收益
|
|
|
+ $user['total'] = $recharge_sum + $video_sum + $audio_sum + $typing_sum + $gift_sum;
|
|
|
+ }
|
|
|
+
|
|
|
+ $result['user_list'] = $downall_uid;
|
|
|
+
|
|
|
+ $this->success(1,$result);
|
|
|
+ }
|
|
|
+ //成员收入
|
|
|
+ public function user_shouyi(){
|
|
|
+ $result = [];
|
|
|
+
|
|
|
+ //日期
|
|
|
+ $today = date('Y-m-d');
|
|
|
+ $startday = input('startday',$today);
|
|
|
+ $starttime = strtotime($startday);
|
|
|
+ $endtime = $starttime + 86399;
|
|
|
+
|
|
|
+ //传入代理
|
|
|
+ $down_all_id = input('down_all_id',0);
|
|
|
+
|
|
|
+ //传入用户id
|
|
|
+ $get_username = input('get_username',0);
|
|
|
+
|
|
|
+ $result['startday'] = $startday;
|
|
|
+
|
|
|
+ //一级代理 下拉 可选二级代理
|
|
|
+ $down_all = $this->select_agent();
|
|
|
+ $result['down_all'] = $down_all;
|
|
|
+ //dump($down_all);
|
|
|
+
|
|
|
+ //确定收益统计范围
|
|
|
+ if(!empty($down_all_id)){
|
|
|
+ $where = ['intro_uid' => $down_all_id];
|
|
|
+ if($get_username){
|
|
|
+ $where['username']= $get_username;
|
|
|
+ }
|
|
|
+ $downall_uid = Db::name('user')->where($where)->field('id,username,avatar,nickname,intro_uid')->order('yaoqingtime desc')->autopage()->select();//其下直推,A1下B0 或 B1下C1
|
|
|
+ //$downall_uid[] = $down_all_id;
|
|
|
+ }else{
|
|
|
+ $down_uid = array_column($down_all,'id');
|
|
|
+ $where = ['intro_uid' => ['IN',$down_uid]];
|
|
|
+ if($get_username){
|
|
|
+ $where['username']= $get_username;
|
|
|
+ }
|
|
|
+ //dump($down_uid);
|
|
|
+ $downall_uid = Db::name('user')->where($where)->field('id,username,avatar,nickname,intro_uid')->order('yaoqingtime desc')->autopage()->select();//其下直推B0+代理下直推C1 或 C1
|
|
|
+ }
|
|
|
+ //dump($downall_uid);
|
|
|
+ foreach($downall_uid as $key => &$user){
|
|
|
+ $user['agentname'] = Db::name('user')->where('id',$user['intro_uid'])->value('agentname');
|
|
|
+ //邀请奖励收益
|
|
|
+ $recharge_sum = Db::name('user_agentjewel_log')->where('user_id',$user['id'])->where('log_type',51)->where('createtime','BETWEEN',[$starttime,$endtime])->sum('change_value');
|
|
|
+// $user['recharge_sum'] = $recharge_sum;
|
|
|
+ //视频收益
|
|
|
+ $video_sum = Db::name('user_match_video_log')->where('to_user_id',$user['id'])->where('updatetime','BETWEEN',[$starttime,$endtime])->sum('money');
|
|
|
+// $user['video_sum'] = $video_sum;
|
|
|
+ //语音收益
|
|
|
+ $audio_sum = Db::name('user_match_audio_log')->where('to_user_id',$user['id'])->where('updatetime','BETWEEN',[$starttime,$endtime])->sum('money');
|
|
|
+// $user['audio_sum'] = $audio_sum;
|
|
|
+ //私信收益
|
|
|
+ $typing_sum= Db::name('user_match_typing_log')->where('to_user_id',$user['id'])->where('createtime','BETWEEN',[$starttime,$endtime])->sum('money');
|
|
|
+// $user['typing_sum'] = $typing_sum;
|
|
|
+ //礼物收益
|
|
|
+ $gift_sum = Db::name('gift_user_typing')->where('user_to_id',$user['id'])->where('createtime','BETWEEN',[$starttime,$endtime])->sum('getvalue');
|
|
|
+// $user['gift_sum'] = $gift_sum;
|
|
|
+ //总收益
|
|
|
+ $user['total'] = $recharge_sum + $video_sum + $audio_sum + $typing_sum + $gift_sum;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ $result['user_list'] = $downall_uid;
|
|
|
+
|
|
|
+ $this->success(1,$result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //成员详情
|
|
|
+ public function user_info(){
|
|
|
+ $user_id = input('user_id',0);
|
|
|
+
|
|
|
+ $user_info = Db::name('user')->where('id',$user_id)->field('id,username,avatar,nickname,intro_uid,yaoqingtime')->find();
|
|
|
+
|
|
|
+ //邀请奖励收益
|
|
|
+ $recharge_sum = Db::name('user_agentjewel_log')->where('user_id',$user_id)->where('log_type',51)->sum('change_value');
|
|
|
+ $user_info['recharge_sum'] = $recharge_sum;
|
|
|
+ //视频收益
|
|
|
+ $video_sum = Db::name('user_match_video_log')->where('to_user_id',$user_id)->sum('money');
|
|
|
+ $user_info['video_sum'] = $video_sum;
|
|
|
+ //语音收益
|
|
|
+ $audio_sum = Db::name('user_match_audio_log')->where('to_user_id',$user_id)->sum('money');
|
|
|
+ $user_info['audio_sum'] = $audio_sum;
|
|
|
+ //私信收益
|
|
|
+ $typing_sum= Db::name('user_match_typing_log')->where('to_user_id',$user_id)->sum('money');
|
|
|
+ $user_info['typing_sum'] = $typing_sum;
|
|
|
+ //礼物收益
|
|
|
+ $gift_sum = Db::name('gift_user_typing')->where('user_to_id',$user_id)->sum('getvalue');
|
|
|
+ $user_info['gift_sum'] = $gift_sum;
|
|
|
+ //总收益
|
|
|
+ $user_info['total'] = $recharge_sum + $video_sum + $audio_sum + $typing_sum + $gift_sum;
|
|
|
+
|
|
|
+ $this->success(1,$user_info);
|
|
|
+ }
|
|
|
+
|
|
|
+ //成员详情-日历数据
|
|
|
+ public function user_info_date(){
|
|
|
+ $user_id = input('user_id',0);
|
|
|
+
|
|
|
+ //日期
|
|
|
+ $todaytime = strtotime(date('Y-m-d'));//今天凌晨
|
|
|
+
|
|
|
+ $datelist = [];
|
|
|
+ for($i=0;$i<$this->listrow;$i++){ //循环10次
|
|
|
+
|
|
|
+ $day = ($this->page-1)*$this->listrow + $i;//往前推的天数
|
|
|
+
|
|
|
+ $starttime = $todaytime - $day*86400;
|
|
|
+ $endtime = $starttime + 86399;
|
|
|
+
|
|
|
+ $thisday = [
|
|
|
+ 'date' => date('m-d',$starttime),
|
|
|
+ ];
|
|
|
+
|
|
|
+ //邀请奖励收益
|
|
|
+ $recharge_sum = Db::name('user_agentjewel_log')->where('user_id',$user_id)->where('log_type',51)->where('createtime','BETWEEN',[$starttime,$endtime])->sum('change_value');
|
|
|
+ $thisday['recharge_sum'] = $recharge_sum;
|
|
|
+ //视频收益
|
|
|
+ $video_sum = Db::name('user_match_video_log')->where('to_user_id',$user_id)->where('updatetime','BETWEEN',[$starttime,$endtime])->sum('money');
|
|
|
+ $thisday['video_sum'] = $video_sum;
|
|
|
+ //语音收益
|
|
|
+ $audio_sum = Db::name('user_match_audio_log')->where('to_user_id',$user_id)->where('updatetime','BETWEEN',[$starttime,$endtime])->sum('money');
|
|
|
+ $thisday['audio_sum'] = $audio_sum;
|
|
|
+ //私信收益
|
|
|
+ $typing_sum= Db::name('user_match_typing_log')->where('to_user_id',$user_id)->where('createtime','BETWEEN',[$starttime,$endtime])->sum('money');
|
|
|
+ $thisday['typing_sum'] = $typing_sum;
|
|
|
+ //礼物收益
|
|
|
+ $gift_sum = Db::name('gift_user_typing')->where('user_to_id',$user_id)->where('createtime','BETWEEN',[$starttime,$endtime])->sum('getvalue');
|
|
|
+ $thisday['gift_sum'] = $gift_sum;
|
|
|
+ //总收益
|
|
|
+ $thisday['total'] = $recharge_sum + $video_sum + $audio_sum + $typing_sum + $gift_sum;
|
|
|
+
|
|
|
+ //
|
|
|
+ $datelist[] = $thisday;
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->success(1,$datelist);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|