diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index bde87f2c0..d4a64749a 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -52,14 +52,18 @@ class ExportController extends Controller $xlsName = $_REQUEST['xlsname']; switch ($id) { case 1: +// $xlsCell = array( +// array('user_account', "玩家账号"), +// array('game_name', "游戏名称"), +// array('server_name', L('Game_area_clothing')), +// array('role_name', "角色名"), +// array('role_level', "游戏等级"), +// array('play_time', "最后登录时间", 'time_format', '*'), +// array('play_ip', "最后登录ip"), +// ); $xlsCell = array( - array('user_account', "玩家账号"), - array('game_name', "游戏名称"), - array('server_name', L('Game_area_clothing')), - array('role_name', "角色名"), - array('role_level', "游戏等级"), - array('play_time', "最后登录时间", 'time_format', '*'), - array('play_ip', "最后登录ip"), + "创建时间","玩家账号", "游戏名称","游戏区服", L('Game_area_clothing'), "角色ID", "角色名", "游戏等级","所属推广员", + "最后登录时间", '最后登录ip', ); if (isset($_REQUEST['game_name'])) { $map['game_name'] = ['like', trim($_REQUEST['game_name'])."%"]; @@ -95,10 +99,53 @@ class ExportController extends Controller $promoter_ids ? $map['promote_id'] = ['in', implode(',', array_column($promoter_ids, 'id'))] : null; } } - $xlsData = M('user_play_info', 'tab_') + + $csvFileName = $xlsName.'.csv'; + //设置好告诉浏览器要下载excel文件的headers + header('Content-Description: File Transfer'); + header('Content-Type: application/vnd.ms-excel'); + header('Content-Disposition: attachment; filename="'. $csvFileName .'"'); + header('Expires: 0'); + header('Cache-Control: must-revalidate'); + header('Pragma: public'); + $fp = fopen('php://output', 'a');//打开output流 + mb_convert_variables('GBK', 'UTF-8', $xlsCell); + fputcsv($fp, $xlsCell);//将数据格式化为CSV格式并写入到output流中 + + $accessNum = M('user_play_info', 'tab_') ->where($map) - ->order('play_time desc') - ->select(); + ->order('play_time desc') + ->count(); +// $accessNum =$accessNum['count']; + + $perSize = 5000;//每次查询的条数 + $pages = ceil($accessNum / $perSize); + $lastId = 0; + + + for($i = 1; $i <= $pages; $i++) { + + $xlsData = M('user_play_info', 'tab_') + ->field("create_time,user_account,game_name,server_id,server_name,role_id,role_name,role_level,promote_account,play_time,play_ip") + ->where($map) + ->limit(($i-1)*$perSize ,$perSize) + ->order('play_time desc') + ->select(); + + foreach($xlsData as $value) { + $value['create_time'] = date("Y-m-d H:i:s",$value['create_time']); + $value['play_time'] = date("Y-m-d H:i:s",$value['play_time']); + mb_convert_variables('GBK', 'UTF-8', $value); + fputcsv($fp, $value); + $lastId = $value['id']; + } + unset($xlsData);//释放变量的内存 + //刷新输出缓冲到浏览器 + ob_flush(); + flush();//必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲。 + } + fclose($fp); + exit(); break; case 2: $xlsName = $xlsName?$xlsName:"渠道注册"; @@ -339,10 +386,10 @@ class ExportController extends Controller $field = 'a.id,a.account,a.promote_account,a.balance, IFNULL(sum(ss.pay_amount),0) AS recharge_total,a.gold_coin,a.alipay ,a.id as small_count,a.id as vip_level,a.register_type,register_time,a.login_time - ,a.register_ip,a.lock_status,a.age_status,a.register_way'; + ,a.register_ip,a.device_number,a.lock_status,check_status,a.age_status,a.register_way'; $xlsCell = [L('Account_number_ID'),"玩家账号",L('Subordinate_channel'), "账户平台币" , "累计充值", "金币", "绑定支付宝", "小号", "VIP等级", "注册方式", L('Registration_time'), - "最后登录时间", L('Register_iP'), L('Account_status')]; + "最后登录时间", L('Register_iP'), "设备号" ,L('Account_status'), "拉黑状态"]; $map['tab_user.register_type']=['in','1,2']; $map['tab_user.register_type']=['in','0,1,2,7']; @@ -645,7 +692,9 @@ class ExportController extends Controller $xlsData[$k]['register_time'] = date('Y-m-d H:i:s',$xlsData[$k]['register_time']); $xlsData[$k]['login_time'] = date('Y-m-d H:i:s',$xlsData[$k]['login_time']); + $xlsData[$k]['device_number'] = encryption($xlsData[$k]['device_number']); $xlsData[$k]['lock_status'] = $xlsData[$k]['lock_status']==1?'正常':'锁定'; + $xlsData[$k]['check_status'] = $xlsData[$k]['check_status']==1?'正常':'已拉黑'; $xlsData[$k]['register_type'] = $v['register_type'] == 2?'手机号':($v['register_type']==7?'邮箱':'账号'); diff --git a/Application/Admin/Controller/MemberController.class.php b/Application/Admin/Controller/MemberController.class.php index aa41fecb6..f6c322d5f 100644 --- a/Application/Admin/Controller/MemberController.class.php +++ b/Application/Admin/Controller/MemberController.class.php @@ -812,13 +812,21 @@ class MemberController extends ThinkController $map['server_name'] = $_REQUEST['server_name']; unset($_REQUEST['server_name']); } + if (isset($_REQUEST['promote_id'])) { + $map['promote_id'] = $_REQUEST['promote_id']; + unset($_REQUEST['promote_id']); + } // $map['type'] = 1; // $map['login_time'] = ['exp', 'login_time<>0']; $extend = array(); $extend['map'] = $map; - + $count = M('UserLoginRecord','tab_')->field('user_id')->where($extend['map'])->group('user_id')->select(false); + $sql = "select count(user_id) as count from ({$count})t"; + $count = M('UserLoginRecord','tab_')->query($sql); $this->m_title = '登录记录'; + $this->assign('user_count',$count[0]['count']); + $this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Member/login_record', 'status' => 1])->find()); parent::lists("UserLoginRecord", $p, $extend['map']); diff --git a/Application/Admin/View/Member/login_record.html b/Application/Admin/View/Member/login_record.html index 8de70f9e1..7165ab834 100644 --- a/Application/Admin/View/Member/login_record.html +++ b/Application/Admin/View/Member/login_record.html @@ -145,7 +145,8 @@ {$data.user_account} - {$gamename}APP登录平台登录 + {$gamename} + --{$data.login_time|date='Y-m-d H:i:s',###} diff --git a/Application/Home/Controller/DownloadController.class.php b/Application/Home/Controller/DownloadController.class.php index fbb3391bc..3eb5e46c3 100644 --- a/Application/Home/Controller/DownloadController.class.php +++ b/Application/Home/Controller/DownloadController.class.php @@ -1305,7 +1305,7 @@ class DownloadController extends BaseController { $payStatus = intval(I('pay_status')); if (in_array($payStatus, array_keys(self::$payStatus))) { - $map['tab_spend.pay_status'] = $payStatus; + $map['tab_spend.pay_status'] = $payStatus + 2; } } $conditions = json_encode($map,TRUE); @@ -1786,7 +1786,6 @@ class DownloadController extends BaseController { $map[$key] = $value; } } - // var_dump($dataname);die(); switch ($dataname) { case "注册明细数据": $this->registerExcelInfo($id,$map); //注册明细 @@ -3300,6 +3299,9 @@ class DownloadController extends BaseController { '付款时间', ); $model = M('spend','tab_'); + if(!empty($map['tab_spend.pay_status'])) { + $map['tab_spend.pay_status'] = $map['tab_spend.pay_status'] -2 ; + } $data1 = $model ->field('tab_spend.id') ->join('tab_game on tab_spend.game_id = tab_game.id') @@ -3307,7 +3309,6 @@ class DownloadController extends BaseController { ->where($map) ->order('tab_spend.id desc') ->select(); - $csvFileName = $xlsName.'.csv'; //设置好告诉浏览器要下载excel文件的headers header('Content-Description: File Transfer'); @@ -3354,13 +3355,13 @@ class DownloadController extends BaseController { } foreach ($data as $key1 => $value1) { $value1['pay_way'] = $this->payWay[$value1['pay_way']]; - $value1['pay_time'] = date('Y-m-d H:i:s',$value1['pay_time']); $value1['p_p_proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')'; $value1['p_proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')'; $value1['proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')'; // $value1['user_account'] = substr_replace($value1['user_account'],'************',3,12); $value1['user_account'] = $this->encryption($value1['user_account']); $value1['pay_order_number'] = $this->encryption($value1['pay_order_number']); + $value1['pay_time'] = ($value1['pay_status'] == 1) ? date('Y-m-d H:i:s', $value1['pay_time']) : '--'; $value1['pay_status'] = isset(self::$payStatus[$value1['pay_status']]) ? self::$payStatus[$value1['pay_status']] : "未知状态"; $value1['sdk_version'] = getSDKTypeName($value1['sdk_version']); switch ($value1['level']) { diff --git a/Application/Home/Controller/PlayersController.class.php b/Application/Home/Controller/PlayersController.class.php index 2f4829fb0..02e19575d 100644 --- a/Application/Home/Controller/PlayersController.class.php +++ b/Application/Home/Controller/PlayersController.class.php @@ -98,13 +98,13 @@ class PlayersController extends BaseController { $parameter['level_promote_2'] = $levelPromote[0]; $parameter['level_promote_3'] = $levelPromote[1]; $parameter['level_promote_4'] = $levelPromote[2]; - $serverData = $this->getServer($relationGameId, $sdkVersion); + $serverData = $this->getServer(I('relation_game_id'), I('sdk_version')); $page = set_pagination($count, $row, $parameter); if ($page) { $this->assign('_page', $page); } $this->assign('listData',$rs); - $this->assign('serverData', $serverData); + $this->assign('serverData', $serverData['data']); $this->assign('initBegTime', I('begtime')); $this->assign('initEndTime', I('endtime')); $this->display(); @@ -171,4 +171,10 @@ class PlayersController extends BaseController { return $result; } + public function getServerAjax() + { + $serverData = $this->getServer(I('relation_game_id'), I('sdk_version')); + + $this->ajaxReturn($serverData); + } } \ No newline at end of file diff --git a/Application/Home/View/default/Home/landingPage.html b/Application/Home/View/default/Home/landingPage.html index 0dce88c12..b9b47fe62 100644 --- a/Application/Home/View/default/Home/landingPage.html +++ b/Application/Home/View/default/Home/landingPage.html @@ -48,32 +48,36 @@
style="height: 0" > -
+
- -
- -
- + +
+ +
+ -
- +
+
+
-
+
+
-