You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
3.4 KiB
PHP
73 lines
3.4 KiB
PHP
<?php
|
|
|
|
namespace Admin\Controller;
|
|
|
|
class BehaviorLogController extends ThinkController
|
|
{
|
|
|
|
public function game()
|
|
{
|
|
$params = I('get.');
|
|
|
|
$map = [];
|
|
if (isset($params['user_account'])) {
|
|
$map['tab_pay_info.user_account'] = $params['user_account'];
|
|
}
|
|
if (isset($params['extend'])) {
|
|
$map['tab_pay_info.extend'] = $params['extend'];
|
|
}
|
|
if (isset($params['game_name'])) {
|
|
$game_id = ['in', array_column(getGameByName($params['game_name'], $params['sdk_version']), 'id')];
|
|
$map['tab_pay_info.game_id'] = $game_id;
|
|
}
|
|
if (isset($params['server_name'])) {
|
|
$game_id = M('game', 'tab_')->where(['relation_game_name' => $params['game_name'],'sdk_version' => $params['sdk_version']])->getField('id');
|
|
$server_id = M('server', 'tab_')->where(['server_name' => $params['server_name'], 'game_id' => $game_id])->getField('server_num');
|
|
$map['tab_pay_info.server_id'] = $server_id;
|
|
}
|
|
if (isset($params['game_player_name'])) {
|
|
$map['tab_pay_info.game_player_name'] = $params['game_player_name'];
|
|
}
|
|
if (isset($params['game_player_id'])) {
|
|
$map['tab_pay_info.game_player_id'] = $params['game_player_id'];
|
|
}
|
|
|
|
|
|
$p = $params['p'] ? $params['p'] : 1;
|
|
$row = $params['row'] ? $params['row'] : 10;
|
|
|
|
$startDate = empty($params['timestart']) ? date('Y-m-d', strtotime('-6 day', time())) : $params['timestart'];
|
|
$endDate = empty($params['timeend']) ? date('Y-m-d') : $params['timeend'];
|
|
$startTime = strtotime($startDate);
|
|
$endTime = strtotime($endDate) + 86399;
|
|
$map['tab_pay_info.create_time'] = array('BETWEEN', [$startTime, $endTime]);
|
|
if (isset($params['promote_id'])) {
|
|
$promoteId = $params['promote_id'];
|
|
if ($promoteId == 0) {
|
|
$map['promote_id'] = 0;
|
|
} else {
|
|
$promoteMap['chain'] = ['like', "%/$promoteId/%"];
|
|
$promoteIds = M('Promote', 'tab_')->where($promoteMap)->getField('id', true);
|
|
$promoteIds[] = $promoteId;
|
|
$map['promote_id'] = ['in', $promoteIds];
|
|
}
|
|
}
|
|
$data = M('pay_info', 'tab_')->field('tab_pay_info.id,tab_pay_info.user_account,extend,tab_pay_info.create_time,tab_pay_info.game_name,tab_pay_info.server_name,tab_pay_info.promote_account,tab_pay_info.order_id,tab_pay_info.game_player_id,tab_pay_info.game_player_name,price,tab_server.server_name')->join('LEFT JOIN tab_server on tab_pay_info.server_id = tab_server.server_num AND tab_pay_info.game_id = tab_server.game_id')->where($map)->order('tab_pay_info.id DESC')->page($p, $row)->select();
|
|
foreach($data as $k => $v) {
|
|
if(empty($v['extend'])) {
|
|
$data[$k]['extend'] = $v['order_id'];
|
|
}
|
|
}
|
|
$count = M('pay_info', 'tab_')->join('tab_server on tab_pay_info.server_id = tab_server.server_num AND tab_pay_info.game_id = tab_server.game_id')->where($map)->count();
|
|
$page = set_pagination($count, $row);
|
|
if ($page) {
|
|
$this->assign('_page', $page);
|
|
}
|
|
$this->assign('startDate', $startDate);
|
|
$this->assign('endDate', $endDate);
|
|
$this->assign('data', $data);
|
|
$this->display('index');
|
|
}
|
|
|
|
}
|