下载数据加密

master
sunke 5 years ago
parent 12a40d4ad4
commit e9b234df02

@ -793,7 +793,14 @@ class DownloadController extends BaseController {
* @author sunke * @author sunke
*/ */
public function regist_data_export() { public function regist_data_export() {
if (empty(I('begtime')) || empty(I('endtime'))) {
$this->error('请选择起止时间');
}
$beginTime = strtotime(I('begtime') . ' 00:00:00');
$endtime = strtotime(I('endtime') . ' 23:59:59');
if (($endtime - $beginTime) > 31 * 24 * 3600) {
$this->error('时间范围不能超过31天');
}
$map1['chain'] = ['like','%'.'/'.PID.'/'.'%']; $map1['chain'] = ['like','%'.'/'.PID.'/'.'%'];
$rs = M('promote','tab_')->where($map1)->field('id,account,nickname')->select(); $rs = M('promote','tab_')->where($map1)->field('id,account,nickname')->select();
$childPromoteIds = ''; $childPromoteIds = '';
@ -912,7 +919,7 @@ class DownloadController extends BaseController {
$addtime = time(); $addtime = time();
$type = "/Home/Promote/children/promote_type/".$promoteType; $type = "/Home/Promote/children/promote_type/".$promoteType;
$data = [ $data = [
'logid' => 'cz_'.time(), 'logid' => 'promote_'.time(),
'admin_id' => PID, 'admin_id' => PID,
'type' => $type, 'type' => $type,
'dataname' => '渠道管理', 'dataname' => '渠道管理',
@ -1123,7 +1130,7 @@ class DownloadController extends BaseController {
} }
$beginTime = strtotime(I('begtime') . ' 00:00:00'); $beginTime = strtotime(I('begtime') . ' 00:00:00');
$endtime = strtotime(I('endtime') . ' 23:59:59'); $endtime = strtotime(I('endtime') . ' 23:59:59');
if (($endTime - $beginTime) > 31 * 24 * 3600) { if (($endtime - $beginTime) > 31 * 24 * 3600) {
$this->error('时间范围不能超过31天'); $this->error('时间范围不能超过31天');
} }
$map1['chain'] = ['like','%'.'/'.PID.'/'.'%']; $map1['chain'] = ['like','%'.'/'.PID.'/'.'%'];
@ -1393,8 +1400,11 @@ class DownloadController extends BaseController {
$roleLevelBegin = intval(I('role_level_begin', 0)); $roleLevelBegin = intval(I('role_level_begin', 0));
$roleLevelEnd = intval(I('role_level_end', 0)); $roleLevelEnd = intval(I('role_level_end', 0));
$headmanPromoteId = I('headman_promote_id', 0); $headmanPromoteId = I('headman_promote_id', 0);
$playTime = I('play_time', ''); $playTime = I('create_time', '');
$promote = $this->getLoginPromote(); $promote = $this->getLoginPromote();
if (empty($playTime)) {
$this->error('请选择创建时间');
}
$map1['chain'] = ['like','%'.'/'.PID.'/'.'%']; $map1['chain'] = ['like','%'.'/'.PID.'/'.'%'];
$rs = M('promote','tab_')->where($map1)->field('id,account,nickname')->select(); $rs = M('promote','tab_')->where($map1)->field('id,account,nickname')->select();
$childPromoteIds = ''; $childPromoteIds = '';
@ -1468,6 +1478,9 @@ class DownloadController extends BaseController {
$playTimeBegin = strtotime($playTimeRow[0] . ' 00:00:00'); $playTimeBegin = strtotime($playTimeRow[0] . ' 00:00:00');
$playTimeEnd = strtotime($playTimeRow[0] . ' 23:59:59'); $playTimeEnd = strtotime($playTimeRow[0] . ' 23:59:59');
} }
if (($playTimeEnd - $playTimeBegin) > 31 * 24 * 3600) {
$this->error('时间范围不能超过31天');
}
$map['play_time'] = ['between', [$playTimeBegin, $playTimeEnd]]; $map['play_time'] = ['between', [$playTimeBegin, $playTimeEnd]];
} }
if ($isSelf) { if ($isSelf) {
@ -1629,7 +1642,6 @@ class DownloadController extends BaseController {
$this->rechargeExcelInfo($id,$map); $this->rechargeExcelInfo($id,$map);
break; break;
case "充值玩家数据": case "充值玩家数据":
var_dump('ss');die();
$this->userRechargeExcelInfo($id,$map); $this->userRechargeExcelInfo($id,$map);
break; break;
case "推广员业绩": case "推广员业绩":
@ -1704,6 +1716,7 @@ class DownloadController extends BaseController {
//var_dump($data); //var_dump($data);
$xlsData = []; $xlsData = [];
foreach ($data as $key1 => $value1) { foreach ($data as $key1 => $value1) {
$value1['account'] = $this->encryption($value1['account']);
$xlsData[] = $value1; $xlsData[] = $value1;
} }
$this->exportExcel($xlsName, $xlsCell, $xlsData,$id); $this->exportExcel($xlsName, $xlsCell, $xlsData,$id);
@ -1724,6 +1737,7 @@ class DownloadController extends BaseController {
$data = $model->field('user_account,promote_account,game_name,server_name,user_nickname,role_level')->where($map)->select(); $data = $model->field('user_account,promote_account,game_name,server_name,user_nickname,role_level')->where($map)->select();
$xlsData = []; $xlsData = [];
foreach ($data as $key1 => $value1) { foreach ($data as $key1 => $value1) {
$value1['user_account'] = $this->encryption($value1['user_account']);
$xlsData[] = $value1; $xlsData[] = $value1;
} }
$this->exportExcel($xlsName, $xlsCell, $xlsData,$id); $this->exportExcel($xlsName, $xlsCell, $xlsData,$id);
@ -1750,7 +1764,6 @@ class DownloadController extends BaseController {
array('spend_discount','折扣币充值'), array('spend_discount','折扣币充值'),
array('spend_voucher','代金券使用'), array('spend_voucher','代金券使用'),
); );
if(!empty($map['tab_apply.promote_id'][1])) { if(!empty($map['tab_apply.promote_id'][1])) {
$params['promote_ids'] = $map['tab_apply.promote_id'][1]; $params['promote_ids'] = $map['tab_apply.promote_id'][1];
@ -1880,7 +1893,8 @@ class DownloadController extends BaseController {
if($value1['status'] == 2) { if($value1['status'] == 2) {
$value1['promotestatus'] = "冻结中"; $value1['promotestatus'] = "冻结中";
} }
$value1['account'] = substr_replace($value1['account'],'****',2);
$value1['idcard'] = substr_replace($value1['idcard'],'************',3,12);
$value1['create_time'] = date('Y-m-d H:i:s',$value1['create_time']); $value1['create_time'] = date('Y-m-d H:i:s',$value1['create_time']);
$xlsData[] = $value1; $xlsData[] = $value1;
} }
@ -1939,7 +1953,7 @@ class DownloadController extends BaseController {
foreach ($data as $item) { foreach ($data as $item) {
$records[] = [ $records[] = [
'id' => $item['id'], 'id' => $item['id'],
'sn' => $item['sn'], 'sn' => $this->encryption($item['sn']),
'type_text' => $service->getTypeText($item['type']), 'type_text' => $service->getTypeText($item['type']),
'sub_type_text' => $service->getSubTypeText($item['sub_type']), 'sub_type_text' => $service->getSubTypeText($item['sub_type']),
'target_type_text' => $service->getTargetTypeText($item['target_type'], $item['target_level']), 'target_type_text' => $service->getTargetTypeText($item['target_type'], $item['target_level']),
@ -1961,7 +1975,7 @@ class DownloadController extends BaseController {
$xlsName = "平台币转移"; $xlsName = "平台币转移";
$xlsCell = array( $xlsCell = array(
array("sn","订单号"), array("sn","订单号"),
array("source_name","收款方账号"), array("target_account","收款方账号"),
array("game_name","适用游戏"), array("game_name","适用游戏"),
array("handle_type","账号类型"), array("handle_type","账号类型"),
array("num","转账数量"), array("num","转账数量"),
@ -2010,8 +2024,8 @@ class DownloadController extends BaseController {
} }
$records[] = [ $records[] = [
'id' => $log['id'], 'id' => $log['id'],
'sn' => $log['sn'], 'sn' => $this->encryption($log['sn']),
'target_account' => $targetAccount, 'target_account' => $this->encryption($targetAccount),
'game_name' => isset($games[$log['game_id']]) ? $games[$log['game_id']]['game_name'] : '所有游戏', 'game_name' => isset($games[$log['game_id']]) ? $games[$log['game_id']]['game_name'] : '所有游戏',
'target_type_text' => $service->getTargetTypeText($log['target_type'], $log['target_level']), 'target_type_text' => $service->getTargetTypeText($log['target_type'], $log['target_level']),
'num' => $log['num'], 'num' => $log['num'],
@ -2049,6 +2063,7 @@ class DownloadController extends BaseController {
->select(); ->select();
foreach ($data as $key => $value) { foreach ($data as $key => $value) {
$value['create_time'] = date("Y-m-d H:i:s", $value['create_time']); $value['create_time'] = date("Y-m-d H:i:s", $value['create_time']);
$value['user_account'] = $this->encryption($value['user_account']);
//获取累计发放 //获取累计发放
$where = array( $where = array(
"user_id"=>$value['user_id'], "user_id"=>$value['user_id'],
@ -2092,6 +2107,7 @@ class DownloadController extends BaseController {
); );
$data=M('test_resource','tab_')->where($map)->order('id desc')->select(); $data=M('test_resource','tab_')->where($map)->order('id desc')->select();
foreach($data as $key => $value) { foreach($data as $key => $value) {
$data[$key]['user_account'] = $this->encryption($value['user_account']);
if($value['apply_status'] == 1) { if($value['apply_status'] == 1) {
$data[$key]['apply_status'] = "审核未通过"; $data[$key]['apply_status'] = "审核未通过";
} }
@ -2128,6 +2144,7 @@ class DownloadController extends BaseController {
->select(); ->select();
foreach ($data as $key => $value) { foreach ($data as $key => $value) {
$data[$key]['create_time'] = date('Y-m-d H:m:i',$value['create_time']); $data[$key]['create_time'] = date('Y-m-d H:m:i',$value['create_time']);
$data[$key]['user_account'] = $this->encryption($value['user_account']);
if($value['check_status'] == 1) { if($value['check_status'] == 1) {
$data[$key]['check_status'] = "冻结"; $data[$key]['check_status'] = "冻结";
}else { }else {
@ -2593,8 +2610,6 @@ class DownloadController extends BaseController {
} }
$params['begin_time'] = $map['begin_time']; $params['begin_time'] = $map['begin_time'];
$params['end_time'] = $map['end_time']; $params['end_time'] = $map['end_time'];
// var_dump($params);die();
$promoteRepository = new PromoteRepository(); $promoteRepository = new PromoteRepository();
$createRoleCountList = $promoteRepository->getCreateRoleCountByIds($ids, $params); $createRoleCountList = $promoteRepository->getCreateRoleCountByIds($ids, $params);
$createRoleUserCountList = $promoteRepository->getCreateRoleUserCountByIds($ids, $params); $createRoleUserCountList = $promoteRepository->getCreateRoleUserCountByIds($ids, $params);
@ -2605,7 +2620,6 @@ class DownloadController extends BaseController {
$rechargeCountList = $promoteRepository->getRechargeCountByIds($ids, $params); $rechargeCountList = $promoteRepository->getRechargeCountByIds($ids, $params);
$rechargeUserCountList = $promoteRepository->getRechargeUserCountByIds($ids, $params); $rechargeUserCountList = $promoteRepository->getRechargeUserCountByIds($ids, $params);
$rechargeAmountList = $promoteRepository->getRechargeAmountByIds($ids, $params); $rechargeAmountList = $promoteRepository->getRechargeAmountByIds($ids, $params);
$records = []; $records = [];
foreach ($promotes as $promote) { foreach ($promotes as $promote) {
$id = $promote['id']; $id = $promote['id'];
@ -2631,11 +2645,85 @@ class DownloadController extends BaseController {
} }
$xlsData = []; $xlsData = [];
foreach ($records as $key1 => $value1) { foreach ($records as $key1 => $value1) {
$value1['account'] = $this->encryption($value1['account']);
$xlsData[] = $value1; $xlsData[] = $value1;
} }
$this->exportExcel($xlsName, $xlsCell, $xlsData,$tid); $this->exportExcel($xlsName, $xlsCell, $xlsData,$tid);
} }
public function userRechargeExcelInfo($id,$map) {
$xlsName = "充值玩家";
$xlsCell = array(
array('user_account','玩家账号'),
array('game_name','游戏名称'),
array('server_name','游戏区服'),
array('sdk_version','平台'),
array('role_name','角色名'),
array('role_level','等级'),
array('recharge_cost','充值总额'),
array('recharge_count','充值次数'),
array('recharge_cost_today','今日充值'),
array('unlogin_day','未登录天数'),
array('play_time','最后登录时间'),
array('promote_account','组长|推广员'),
);
if(!empty($map['promote_id'])) {
$spendMap['promote_id'] = $map['promote_id'];
}
$map['create_time'] = ['between', [strtotime(date('Y-m-d 00:00:00')) - 31*24*3600, strtotime(date('Y-m-d 23:59:59'))]];
$roles = M('user_play_info','tab_')->where($map)->select();
$roleIds = array_column($roles, 'role_id');
$spendMap['pay_status'] = 1;
$spendMap['pay_game_status'] = 1;
if (count($roleIds) > 0) {
$spendMap['game_player_id'] = ['in', $roleIds];
} else {
$spendMap['_string'] = '1<>1';
}
$allRecharges = M('spend', 'tab_')->field('count(*) count, sum(cost) cost, game_player_id')->where($spendMap)->group('game_player_id')->select();
$allRecords = [];
foreach ($allRecharges as $recharge) {
$allRecords[$recharge['game_player_id']] = $recharge;
}
$map['pay_time'] = ['between', [strtotime(date('Y-m-d 00:00:00')), strtotime(date('Y-m-d 23:59:59'))]];
$todayRecharges = M('spend', 'tab_')->field('sum(cost) cost, game_player_id')->where($map)->group('game_player_id')->select();
$todayRecords = [];
foreach ($todayRecharges as $recharge) {
$todayRecords[$recharge['game_player_id']] = $recharge;
}
$records = [];
foreach ($roles as $role) {
$records[] = [
'user_account' => $role['user_account'],
'game_name' => $role['game_name'],
'role_name' => $role['role_name'],
'role_id' => $role['role_id'],
'role_level' => $role['role_level'],
'server_id' => $role['server_id'],
'server_name' => $role['server_name'],
'recharge_cost' => isset($allRecords[$role['role_id']]) ? round(floatval($allRecords[$role['role_id']]['cost']), 2) : 0,
'recharge_count' => isset($allRecords[$role['role_id']]) ? $allRecords[$role['role_id']]['count'] : 0,
'recharge_cost_today' => isset($todayRecords[$role['role_id']]) ? round(floatval($todayRecords[$role['role_id']]['cost']), 2) : 0,
'play_time' => $role['play_time'],
'play_ip' => $role['play_ip'],
'promote_id' => $role['promote_id'],
'promote_account' => $role['promote_account'],
'sdk_version' => $role['sdk_version'],
'unlogin_day' => intval((strtotime(date('Y-m-d 00:00:00')) - strtotime(date('Y-m-d 00:00:00', $role['play_time']))) / (24 * 3600))
];
}
$xlsData = [];
foreach ($records as $key1 => $value1) {
$value1['user_account'] = $this->encryption($value1['user_account']);
$xlsData[] = $value1;
}
$this->exportExcel($xlsName, $xlsCell, $xlsData,$id);
}
public function rechargeExcelInfo($id,$map) { public function rechargeExcelInfo($id,$map) {
$xlsName = "订单查询"; $xlsName = "订单查询";
$xlsCell = array( $xlsCell = array(
@ -2658,7 +2746,6 @@ class DownloadController extends BaseController {
->join('left join tab_promote on tab_spend.promote_id = tab_promote.id') ->join('left join tab_promote on tab_spend.promote_id = tab_promote.id')
->where($map) ->where($map)
->order('tab_spend.id desc') ->order('tab_spend.id desc')
->limit(1)
->select(); ->select();
$xlsData = []; $xlsData = [];
foreach ($data as $key1 => $value1) { foreach ($data as $key1 => $value1) {
@ -2667,6 +2754,9 @@ class DownloadController extends BaseController {
$value1['p_p_proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')'; $value1['p_p_proinfo'] = $value1['pro_account'].'('.$value1['pro_real_name'].')';
$value1['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['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['order_number'] = $this->encryption($value1['order_number']);
if(!empty($value1['chain'])) { if(!empty($value1['chain'])) {
$chain = trim($value1['chain'],'/'); $chain = trim($value1['chain'],'/');
$chainArr = explode('/', $chain); $chainArr = explode('/', $chain);
@ -2872,5 +2962,22 @@ class DownloadController extends BaseController {
} }
return $records; return $records;
} }
public function encryption($string) {
$orderLen = strlen($string);
$strLen = 3;
$hideChar = '';
if($orderLen <=8) {
$strLen = 2;
}
for($i = 0;$i<$orderLen-$strLen*2;$i++) {
$hideChar .='*';
}
return substr($string, 0, $strLen) . $hideChar . substr($string, $orderLen-$strLen);
}
} }

Loading…
Cancel
Save