|
|
|
@ -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?'邮箱':'账号');
|
|
|
|
|
|
|
|
|
|