diff --git a/Application/Admin/Controller/PlatformController.class.php b/Application/Admin/Controller/PlatformController.class.php index dc5d31e2c..aa14a7154 100644 --- a/Application/Admin/Controller/PlatformController.class.php +++ b/Application/Admin/Controller/PlatformController.class.php @@ -424,15 +424,16 @@ class PlatformController extends ThinkController $map['register_time'] = ['elt', strtotime($_REQUEST['timeend']) + 86399]; unset($_REQUEST['timeend']); } - $play_info_map = ''; - + //TODO:应需求,取消玩家表,只要user表的fgame有就算注册无需在play表存在 + $play_map = false; if (isset($_REQUEST['game_name'])) { $map['fgame_name'] = $_REQUEST['game_name']; - $play_info_map .= " and upi.game_name = '{$_REQUEST['game_name']}' "; - unset($_REQUEST['game_name']); + // $play_map = " and up.game_name = '{$_REQUEST['game_name']}' "; } + $play_info_map = false; if (isset($_REQUEST['server_id'])) { - $play_info_map .= " and upi.server_id = '{$_REQUEST['server_id']}' "; + $play_map = false; //有区服就不检索玩家表,有区服一定已经选择游戏了 + $play_info_map = " and upi.server_id = '{$_REQUEST['server_id']}' and upi.game_name = '{$_REQUEST['game_name']}'"; } $today = total(1); @@ -455,11 +456,13 @@ class PlatformController extends ThinkController count(u.id) as count') ->join("tab_promote AS tp2 ON tp2.`chain` LIKE CONCAT('%/', tp1.id, '/%') OR tp2.id = tp1.id", 'left') ->join("tab_user as u on tp2.id = u.promote_id", 'left') + ->join($play_map ? "tab_user_play as up on up.user_id = u.id " . $play_map : false) ->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false) ->where($map) ->group('tp1.id') ->order('count desc, register_time') ->select(); + // echo $data;die(); //今日/本周/本月不变 $tmap = $map; if(isset($tmap['register_time'])){ @@ -484,6 +487,7 @@ class PlatformController extends ThinkController count(IF(register_time ' . $mounth . ',1,null)) as mounth') ->join("tab_promote AS tp2 ON tp2.`chain` LIKE CONCAT('%/', tp1.id, '/%') OR tp2.id = tp1.id", 'left') ->join("tab_user as u on tp2.id = u.promote_id", 'left') + ->join($play_map ? "tab_user_play as up on up.user_id = u.id " . $play_map : false) ->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false) ->where($tmap) ->group('tp1.id') @@ -529,6 +533,7 @@ class PlatformController extends ThinkController //官方渠道数据添加 $authorityData = M('user', 'tab_')->alias('u') ->field('date_format(FROM_UNIXTIME(register_time),"%Y-%m-%d") AS time,count(u.id) as count') + ->join($play_map ? "tab_user_play as up on up.user_id = u.id " . $play_map : false) ->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false) ->where($map) ->find(); @@ -538,6 +543,7 @@ class PlatformController extends ThinkController count(IF(register_time ' . $week . ',1,null)) as week, count(IF(register_time ' . $mounth . ',1,null)) as mounth') ->where($tmap) + ->join($play_map ? "tab_user_play as up on up.user_id = u.id " . $play_map : false) ->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false) ->find(); $authorityData['today'] = $tauthorityData['today']; @@ -693,6 +699,44 @@ class PlatformController extends ThinkController $data[] = $v; } // dd($data); + unset($map['tp1.id']); + unset($map['tp1.chain']); + unset($tmap['tp1.chain']); + unset($tmap['tp1.chain']); + $map['s.promote_id'] = 0; + $tmap['s.promote_id'] = 0; + $authorityData['count'] = 0; + + //如果有官方渠道权限 + $user_auth_promote_ids = session('user_auth_promote_ids'); + if ($user_auth_promote_ids == 'all' || in_array('0', explode(",", $user_auth_promote_ids))) { + //官方渠道数据添加 + $authorityData = M('spend', 'tab_')->alias('s') + ->field('floor(sum(pay_amount)*100) as count') + ->where($map) + ->find(); + $tauthorityData = M('spend', 'tab_')->alias('s') + ->field(' + floor(sum(IF(s.pay_time ' . $today . ',pay_amount,0))*100) as today, + floor(sum(IF(s.pay_time ' . $week . ',pay_amount,0))*100) as week, + floor(sum(IF(s.pay_time ' . $mounth . ',pay_amount,0))*100) as mounth') + ->where($tmap) + ->find(); + $authorityData['today'] = $tauthorityData['today']; + $authorityData['week'] = $tauthorityData['week']; + $authorityData['mounth'] = $tauthorityData['mounth']; + } + $authorityData['promote_account'] = "官方渠道"; + $authorityData['id'] = "1"; + if (isset($_REQUEST['promote_id'])||$authorityData['count']==0) { + $authorityData = []; + } else { + array_push($data, $authorityData); + } + + //数据排序 + $last_names = array_column($data,'count'); + array_multisort($last_names,SORT_DESC,$data); $count = count($data); foreach ($data as $key => $value) {