推广平台->数据汇总->充值玩家--添加排序功能

master
chenxiaojun 5 years ago
commit 4342e240c0

@ -1712,8 +1712,10 @@ class QueryController extends BaseController
$sdkVersion = I('sdk_version', 0);
$costBegin = I('cost_begin', '');
$costEnd = I('cost_end', '');
$lastSortName = trim(I('last_sort_name', ''));
$sortName = trim(I('sort_name', ''));
$sort = intval(I('sort', 1));
$sortNameData = ['recharge_cost', 'recharge_count', 'recharge_cost_today', 'unlogin_day'];
$nowTime = date('Y-m-d');
$initBegTime = date('Y-m-d', strtotime('-6 day', strtotime($nowTime)));
$initBegTime = empty(I('begtime')) ? $initBegTime : I('begtime');
@ -1784,8 +1786,32 @@ class QueryController extends BaseController
->buildSql();
$map['_string'] = 'role_id in (' . $subQuery . ')';
}
$orderBy = 'play_time desc';
if (!empty($sortName)) {
if (in_array($sortName, $sortNameData)) {
$desc = ' desc';
$asc = ' asc';
if ($sortName == 'unlogin_day') {
$sortName = 'play_time';
$desc = ' asc';
$asc = ' desc';
}
if ($lastSortName == 'unlogin_day') {
$lastSortName = 'play_time';
}
if ($lastSortName != $sortName) {
$sortString = $desc;
$sort = 1;
} else {
$sortString = ($sort == 1) ? $desc : $asc;
}
$orderBy = $sortName . $sortString;
}
}
$spendMap['uc.create_time'] = ['between', [$begTime, $endTime - 1]];
$spendMap['_string'] = 'uc.game_id = game_id and uc.server_id = server_id and uc.role_id = role_id';
$spendMap['_string'] = 'uc.game_id = tab_user_play_info.game_id and uc.server_id = tab_user_play_info.server_id and uc.role_id = tab_user_play_info.role_id';
$sqlCost = M('user_play_data_count', 'tab_')->alias('uc')
->field('sum(uc.recharge_cost) cost')
->where($spendMap)
@ -1799,10 +1825,16 @@ class QueryController extends BaseController
->field('sum(uc.recharge_count) count')
->where($spendMap)
->buildSql();
$query = M('user_play_info', 'tab_')
->field("*,$sqlCost as cost,$sqlCount as count,$sqlTodayCost as today_cost")
$subQuery = M('user_play_info', 'tab_')
->field("*,$sqlCost as recharge_cost,$sqlCount as recharge_count,$sqlTodayCost as recharge_cost_today")
->where($map)
->order('play_time desc');
->order('play_time desc')
->buildSql();
$query = M()->field('*')
->table($subQuery)
->alias('a')
->order($orderBy);
list($roles, $pagination, $count) = $this->paginate($query);
foreach ($roles as $role) {
@ -1814,9 +1846,9 @@ class QueryController extends BaseController
'role_level' => $role['role_level'],
'server_id' => $role['server_id'],
'server_name' => $role['server_name'],
'recharge_cost' => $role['cost'],
'recharge_count' => $role['count'],
'recharge_cost_today' => $role['cost_today'],
'recharge_cost' => empty($role['recharge_cost']) ? 0 : $role['recharge_cost'],
'recharge_count' => empty($role['recharge_count']) ? 0 : $role['recharge_count'],
'recharge_cost_today' => empty($role['recharge_cost_today']) ? 0 : $role['recharge_cost_today'],
'play_time' => $role['play_time'],
'play_ip' => $role['play_ip'],
'promote_id' => $role['promote_id'],
@ -1835,6 +1867,7 @@ class QueryController extends BaseController
$this->assign('count', $count);
$this->assign('initBegTime', $initBegTime);
$this->assign('initEndTime', $initEndTime);
$this->assign('sort', $sort);
$this->display('userRecharges');
}
@ -1920,10 +1953,10 @@ class QueryController extends BaseController
public function achievement()
{
$time = I('time', date('Y-m-d'));
if(!empty($time)) {
$defaultTime = $time ;
}else {
$defaultTime = date('Y-m-d',time());
if (!empty($time)) {
$defaultTime = $time;
} else {
$defaultTime = date('Y-m-d', time());
}
$sdkVersion = I('sdk_version', 0);
$gameId = I('game_id', 0);
@ -2083,7 +2116,7 @@ class QueryController extends BaseController
$this->assign('parentid', $parentId);
$this->assign('count', $count);
$this->assign('timeout', $timeout);
$this->assign('time',$defaultTime);
$this->assign('time', $defaultTime);
$this->display();
}
@ -2100,7 +2133,7 @@ class QueryController extends BaseController
public function userPlayDataCount()
{
$time = strtotime(date('Y-m-d 00:00:00',time() - (3600 * 24)));
$time = strtotime(date('Y-m-d 00:00:00', time() - (3600 * 24)));
$spendMap['pay_status'] = 1;
$spendMap['pay_game_status'] = 1;
$spendMap['game_player_id'] = ['gt', 0];

@ -82,8 +82,9 @@
</div>
</div>
<div class="form-group normal_space">
<input type="hidden" name="last_sort_name" id="last_sort_name" value="{:I('sort_name', '')}">
<input type="hidden" name="sort_name" id="sort_name" value="{:I('sort_name', '')}">
<input type="hidden" name="sort" id="sort" value="{:I('sort', 1)}">
<input type="hidden" name="sort" id="sort" value="{$sort}">
<input type="submit" class="submit" value="查询">
</div>
<div class="form-group normal_space">
@ -102,7 +103,7 @@
<th>等级</th>
<th class="sort" sort-name="recharge_cost">充值总额
<if condition="'recharge_cost' == I('sort_name', '')">
<if condition="1 == I('sort', 1)">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
@ -113,7 +114,7 @@
</th>
<th class="sort" sort-name="recharge_count">充值次数
<if condition="'recharge_count' == I('sort_name', '')">
<if condition="1 == I('sort', 1)">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
@ -124,7 +125,7 @@
</th>
<th class="sort" sort-name="recharge_cost_today">今日充值
<if condition="'recharge_cost_today' == I('sort_name', '')">
<if condition="1 == I('sort', 1)">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
@ -135,7 +136,7 @@
</th>
<th class="sort" sort-name="unlogin_day">未登录天数
<if condition="'unlogin_day' == I('sort_name', '')">
<if condition="1 == I('sort', 1)">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>

Loading…
Cancel
Save