diff --git a/Application/Home/Controller/QueryController.class.php b/Application/Home/Controller/QueryController.class.php
index d5e22bea6..beb2d0db9 100644
--- a/Application/Home/Controller/QueryController.class.php
+++ b/Application/Home/Controller/QueryController.class.php
@@ -927,7 +927,6 @@ class QueryController extends BaseController
$userPlayInfoModel = M('UserPlayInfo', 'tab_');
- $newWhere = '';
$begTime = strtotime($initBegTime);
$endTime = strtotime($initEndTime);
$spendWhere['tab_spend.pay_status'] = 1;
@@ -935,7 +934,6 @@ class QueryController extends BaseController
$userPlayInfoWhere['tab_user_play_info.server_id'] = I('server_id');
$userGameLoginWhere['tab_user_game_login_record.server_id'] = I('server_id');
$spendWhere['tab_spend.server_id'] = I('server_id');
- $newWhere = ' and ti.server_id = ' . I('server_id');
}
$summaryData = [];
@@ -958,6 +956,7 @@ class QueryController extends BaseController
$allData['spend_voucher'] = 0;
foreach ($data as &$list) {
$thisDateTime = strtotime($list['day']);
+ $userPlayInfoWhere2 = $userPlayInfoWhere;
$userPlayInfoWhere['tab_user_play_info.create_time'] = ['between', [$thisDateTime, $thisDateTime + 86399]];
$userGameLoginWhere['tab_user_game_login_record.login_time'] = ['between', [$thisDateTime, $thisDateTime + 86399]];
$spendWhere['tab_spend.pay_time'] = ['between', [$thisDateTime, $thisDateTime + 86399]];
@@ -968,58 +967,47 @@ class QueryController extends BaseController
->where($map)
->order('play_time desc')
->count();//创角数
- $list['user_num'] = count($userPlayInfoModel
- ->field('tab_user_play_info.id')
+ $list['user_num'] = $userPlayInfoModel
->join($join)
->where($userPlayInfoWhere)
->where($map)
- ->group('tab_user_play_info.user_id')
- ->select());//创角用户
+ ->count('distinct tab_user_play_info.user_id');//创角用户
- $newUserSql = '(select count(ti.id) from tab_user_play_info as ti where ti.user_id = tab_user_play_info.user_id and ti.game_id = tab_user_play_info.game_id and ti.create_time < ' . $thisDateTime . $newWhere . ') as old_num';
- $list['new_user_num'] = count($userPlayInfoModel
- ->field($newUserSql)
- ->join($join)
- ->where($userPlayInfoWhere)
- ->where($map)
- ->group('tab_user_play_info.user_id')
- ->having('old_num = 0')
- ->select());//新创角用户
+ $newUserNumData = $userPlayInfoModel
+ ->field('tab_user_play_info.create_time,count(distinct tab_user_play_info.user_id) as num')
+ ->where($userPlayInfoWhere2)
+ ->having('tab_user_play_info.create_time between ' . $begTime . ' and ' . ($endTime + 86399))
+ ->order('tab_user_play_info.id')
+ ->find();
+ $list['new_user_num'] = empty($newUserNumData['num']) ? 0 : $newUserNumData['num'];//新创角用户
- $newDeviceSql = '(select count(ti.id) from tab_user_play_info as ti where ti.create_device_number = tab_user_play_info.create_device_number and ti.game_id = tab_user_play_info.game_id and ti.create_time < ' . $thisDateTime . $newWhere . ') as old_num';
- $list['new_device_num'] = count($userPlayInfoModel
- ->field($newDeviceSql)
- ->join($join)
- ->where($userPlayInfoWhere)
- ->where($map)
- ->group('tab_user_play_info.create_device_number')
- ->having('old_num = 0')
- ->select());//新创角设备
+ $newDeviceData = $userPlayInfoModel
+ ->field('tab_user_play_info.create_time,count(distinct tab_user_play_info.create_device_number) as num')
+ ->where($userPlayInfoWhere2)
+ ->having('tab_user_play_info.create_time between ' . $begTime . ' and ' . ($endTime + 86399))
+ ->order('tab_user_play_info.id')
+ ->find();
+ $list['new_device_num'] = empty($newDeviceData['num']) ? 0 : $newDeviceData['num'];//新创角设备
- $newIpSql = '(select count(ti.id) from tab_user_play_info as ti where ti.create_ip = tab_user_play_info.create_ip and ti.game_id = tab_user_play_info.game_id and ti.create_time < ' . $thisDateTime . $newWhere . ') as old_num';
- $list['new_ip_num'] = count($userPlayInfoModel
- ->field($newIpSql)
- ->join($join)
- ->where($userPlayInfoWhere)
- ->where($map)
- ->group('tab_user_play_info.create_ip')
- ->having('old_num = 0')
- ->fetchSql(true)
- ->select());//新增创角IP
- $list['login_user_num'] = count(M('UserGameLoginRecord', 'tab_')
- ->field('tab_user_game_login_record.id')
+ $newIpNumData = $userPlayInfoModel
+ ->field('tab_user_play_info.create_time,count(distinct tab_user_play_info.create_ip) as num')
+ ->where($userPlayInfoWhere2)
+ ->having('tab_user_play_info.create_time between ' . $begTime . ' and ' . ($endTime + 86399))
+ ->order('tab_user_play_info.id')
+ ->find();
+ $list['new_ip_num'] = empty($newIpNumData['num']) ? 0 : $newIpNumData['num'];//新增创角IP
+
+ $list['login_user_num'] = M('UserGameLoginRecord', 'tab_')
->join($join)
->where($userGameLoginWhere)
->where($map)
- ->group('user_id')
- ->select());//登录用户数
- $list['spend_user_num'] = count(M('Spend', 'tab_')
+ ->count('distinct tab_user_game_login_record.user_id');//登录用户数
+ $list['spend_user_num'] = M('Spend', 'tab_')
->field('tab_spend.id')
->join($join)
->where($spendWhere)
->where($map)
- ->group('tab_spend.user_id')
- ->select());//充值人数
+ ->count('distinct tab_spend.user_id');//充值人数
$list['spend_num'] = M('Spend', 'tab_')
->join($join)
->where($spendWhere)
@@ -1302,16 +1290,16 @@ class QueryController extends BaseController
$allData = [];
if (!empty($data)) {
- foreach ($data as $key => $list) {
+ foreach ($data as &$list) {
$userPlayInfoMap2['tab_user_play_info.game_id'] = $list['game_id'];
$newUserNumData = $userPlayInfoModel
- ->field('tab_user_play_info.create_time,count(distinct tab_user_play_info.id) as num')
+ ->field('tab_user_play_info.create_time,count(distinct tab_user_play_info.user_id) as num')
->where($userPlayInfoMap2)
->having('tab_user_play_info.create_time between ' . $begTime . ' and ' . ($endTime + 86399))
->order('tab_user_play_info.id')
->find();
- $data[$key]['new_user_num'] = empty($newUserNumData['num']) ? 0 : $newUserNumData['num'];//新创角用户
+ $list['new_user_num'] = empty($newUserNumData['num']) ? 0 : $newUserNumData['num'];//新创角用户
$newDeviceData = $userPlayInfoModel
->field('tab_user_play_info.create_time,count(distinct tab_user_play_info.create_device_number) as num')
@@ -1319,15 +1307,15 @@ class QueryController extends BaseController
->having('tab_user_play_info.create_time between ' . $begTime . ' and ' . ($endTime + 86399))
->order('tab_user_play_info.id')
->find();
- $data[$key]['new_device_num'] = empty($newDeviceData['num']) ? 0 : $newDeviceData['num'];//新创角设备
+ $list['new_device_num'] = empty($newDeviceData['num']) ? 0 : $newDeviceData['num'];//新创角设备
$newIpData = $userPlayInfoModel
->field('tab_user_play_info.create_time,count(distinct tab_user_play_info.create_ip) as num')
->where($userPlayInfoMap2)
->having('tab_user_play_info.create_time between ' . $begTime . ' and ' . ($endTime + 86399))
->order('tab_user_play_info.id')
- ->select();
- $data[$key]['new_ip_num'] = empty($newIpData['num']) ? 0 : $newIpData['num'];//新增创角IP
+ ->find();
+ $list['new_ip_num'] = empty($newIpData['num']) ? 0 : $newIpData['num'];//新增创角IP
}
$allData['spend_num'] = M('Spend', 'tab_')
@@ -1514,7 +1502,7 @@ class QueryController extends BaseController
$where['show_status'] = 1;
$serverData = M('Server', 'tab_')
- ->field('id,server_name')
+ ->field('server_id,server_name')
->where($where)
->select();
$result['status'] = 1;
diff --git a/Application/Home/View/default/Query/dailySummary.html b/Application/Home/View/default/Query/dailySummary.html
index 96197f933..0f2fc4022 100644
--- a/Application/Home/View/default/Query/dailySummary.html
+++ b/Application/Home/View/default/Query/dailySummary.html
@@ -118,7 +118,7 @@
diff --git a/Application/Home/View/default/Query/summary.html b/Application/Home/View/default/Query/summary.html
index 6444d4133..7932c5592 100644
--- a/Application/Home/View/default/Query/summary.html
+++ b/Application/Home/View/default/Query/summary.html
@@ -108,7 +108,7 @@