推广后台->数据管理->每日概况 -- 更新

master
chenxiaojun 5 years ago
parent 81ed43afdd
commit b6a62e2df1

@ -1113,163 +1113,83 @@ class QueryController extends BaseController
$dayList = $this->getDayList($begTime, $endTime + 3600 * 24); $dayList = $this->getDayList($begTime, $endTime + 3600 * 24);
$params['dayList'] = $dayList; $params['dayList'] = $dayList;
$allData['role_num'] = 0; $records = [];
$allData['user_num'] = 0; if (intval($endTime - $begTime) / (24 * 3600) <= 30) {
$allData['new_user_num'] = 0; $userRepository = new UserRepository();
$allData['new_device_num'] = 0; $spendRepository = new SpendRepository();
$allData['new_ip_num'] = 0; $roleNumList = $userRepository->getCreateRoleCountByDay($params);//创角数
$allData['login_user_num'] = 0; $userNumList = $userRepository->getCreateRoleUserCountByDay($params);//创角用户
$allData['spend_user_num'] = 0; $newUserNumList = $userRepository->getNewCreateRoleUserCountByDay($params);//新创角用户
$allData['spend_num'] = 0; $newDeviceNumList = $userRepository->getNewCreateRoleDeviceCountByDay($params);//新创角设备
$allData['spend_all_amount'] = 0; $newIpNumList = $userRepository->getNewCreateRoleIpCountByDay($params);//新创角IP
$allData['spend_cash'] = 0; $loginUserNumList = $userRepository->getLoginCountGroupByDay($params);//登录用户数
$allData['spend_generic'] = 0; $spendUserNumList = $spendRepository->getPayUserCountGroupByDay($params);//充值人数
$allData['pay_amount'] = 0; $spendNumList = $spendRepository->getPayCountGroupByDay($params);//充值次数
$allData['spend_discount'] = 0; $spendAllAmountList = $spendRepository->getPayAmountGroupByDayAndType($params);//充值总额
$allData['spend_voucher'] = 0; $params['pay_way'] = ['in', '1,2,3,4,5,6'];
foreach ($data as &$list) { $spendCashList = $spendRepository->getPayAmountGroupByDayAndType($params);//现金充值
$thisDateTime = strtotime($list['day']); $params['pay_way'] = 0;
$userPlayInfoWhere['tab_user_play_info.create_time'] = ['between', [$thisDateTime, $thisDateTime + 86399]]; $spendGenericList = $spendRepository->getPayAmountGroupByDayAndType($params);//通用币充值
$userGameLoginWhere['tab_user_game_login_record.login_time'] = ['between', [$thisDateTime, $thisDateTime + 86399]]; $params['pay_way'] = -1;
$spendWhere['tab_spend.pay_time'] = ['between', [$thisDateTime, $thisDateTime + 86399]]; $spendBindingList = $spendRepository->getPayAmountGroupByDayAndType($params);//绑定币充值
$list['role_num'] = $userPlayInfoModel $allData['role_num'] = 0;
->join($join) $allData['user_num'] = 0;
->where($userPlayInfoWhere) $allData['new_user_num'] = 0;
->where($map) $allData['new_device_num'] = 0;
->order('play_time desc') $allData['new_ip_num'] = 0;
->count();//创角数 $allData['login_user_num'] = 0;
$list['user_num'] = count($userPlayInfoModel $allData['spend_user_num'] = 0;
->join($join) $allData['spend_num'] = 0;
->where($userPlayInfoWhere) $allData['spend_all_amount'] = 0;
->where($map) $allData['spend_cash'] = 0;
->group('tab_user_play_info.game_id,tab_user_play_info.user_id') $allData['spend_generic'] = 0;
->select());//创角用户 $allData['spend_binding'] = 0;
$allData['spend_discount'] = 0;
$newUserNumSql = $userPlayInfoModel $allData['spend_voucher'] = 0;
->table('tab_user_play_info as ti') foreach ($dayList as $day) {
->where($userPlayInfoWhere2) $date = date('Ymd', strtotime($day));
->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) $records[] = [
->fetchSql(true) 'day' => $date,
->count(); 'role_num' => $roleNumList[$day],
$newUserNumData = $userPlayInfoModel 'user_num' => $userNumList[$day],
->field('tab_user_play_info.create_time,(' . $newUserNumSql . ') as num') 'new_user_num' => $newUserNumList[$day],
->join($join) 'new_device_num' => $newDeviceNumList[$day],
->where($userPlayInfoWhere) 'new_ip_num' => $newIpNumList[$day],
->where($map) 'login_user_num' => $loginUserNumList[$day],
->group('tab_user_play_info.user_id') 'spend_user_num' => $spendUserNumList[$day],
->having('num = 0') 'spend_num' => $spendNumList[$day],
->order('tab_user_play_info.id') 'spend_all_amount' => $spendAllAmountList[$day],
->select(); 'spend_cash' => $spendCashList[$day],
$list['new_user_num'] = count($newUserNumData);//新创角用户 'spend_generic' => $spendGenericList[$day],
'spend_binding' => $spendBindingList[$day],
$newDeviceSql = $userPlayInfoModel 'spend_discount' => 0,
->table('tab_user_play_info as ti') 'spend_voucher' => 0,
->where($userPlayInfoWhere2) ];
->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)
->fetchSql(true) $allData['role_num'] += $roleNumList[$day];
->count(); $allData['user_num'] += $userNumList[$day];
$newDeviceData = $userPlayInfoModel $allData['new_user_num'] += $newUserNumList[$day];
->field('tab_user_play_info.create_time,(' . $newDeviceSql . ') as num') $allData['new_device_num'] += $newDeviceNumList[$day];
->join($join) $allData['new_ip_num'] += $newIpNumList[$day];
->where($userPlayInfoWhere) $allData['login_user_num'] += $loginUserNumList[$day];
->where($map) $allData['spend_user_num'] += $spendUserNumList[$day];
->group('tab_user_play_info.create_device_number') $allData['spend_num'] += $spendNumList[$day];
->having('num = 0') $allData['spend_all_amount'] = bcadd($allData['spend_all_amount'], $spendAllAmountList[$day], 2);
->order('tab_user_play_info.id') $allData['spend_cash'] = bcadd($allData['spend_cash'], $spendCashList[$day], 2);
->select(); $allData['spend_generic'] = bcadd($allData['spend_generic'], $spendGenericList[$day], 2);
$list['new_device_num'] = count($newDeviceData);//新创角设备 $allData['spend_binding'] = bcadd($allData['spend_binding'], $spendBindingList[$day], 2);
$allData['spend_discount'] = bcadd($allData['spend_discount'], 0, 2);
$newIpNumSql = $userPlayInfoModel $allData['spend_voucher'] = bcadd($allData['spend_voucher'], 0, 2);
->table('tab_user_play_info as ti')
->where($userPlayInfoWhere2) $summaryData['date'][] = $date;
->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) $summaryData['role_num'][] = $roleNumList[$day];
->fetchSql(true) $summaryData['user_num'][] = $userNumList[$day];
->count(); $summaryData['new_user_num'][] = $newUserNumList[$day];
$newIpNumData = $userPlayInfoModel $summaryData['new_device_num'][] = $newDeviceNumList[$day];
->field('tab_user_play_info.create_time,(' . $newIpNumSql . ') as num') $summaryData['spend_user_num'][] = $spendUserNumList[$day];
->join($join) $summaryData['spend_all_amount'][] = $spendAllAmountList[$day];
->where($userPlayInfoWhere) }
->where($map)
->group('tab_user_play_info.create_ip')
->having('num = 0')
->order('tab_user_play_info.id')
->select();
$list['new_ip_num'] = count($newIpNumData);//新增创角IP
$list['login_user_num'] = count(M('UserGameLoginRecord', 'tab_')
->join($join)
->where($userGameLoginWhere)
->where($map)
->group('tab_user_game_login_record.game_id,tab_user_game_login_record.user_id')
->select());//登录用户数
$list['spend_user_num'] = count(M('Spend', 'tab_')
->join($join)
->where($spendWhere)
->where($map)
->group('tab_spend.game_id,tab_spend.user_id')
->select());//充值人数
$list['spend_num'] = M('Spend', 'tab_')
->join($join)
->where($spendWhere)
->where($map)
->count();//充值次数
$list['spend_all_amount'] = M('Spend', 'tab_')
->join($join)
->where($spendWhere)
->where($map)
->sum('tab_spend.pay_amount');//充值总额
$list['spend_all_amount'] = empty($list['spend_all_amount']) ? 0 : $list['spend_all_amount'];
$list['spend_cash'] = M('Spend', 'tab_')
->join($join)
->where($spendWhere)
->where($map)
->where(array('tab_spend.pay_way' => ['in', '1,2,3,4,5,6']))
->sum('tab_spend.pay_amount');//现金充值
$list['spend_cash'] = empty($list['spend_cash']) ? 0 : $list['spend_cash'];
$list['spend_generic'] = M('Spend', 'tab_')
->join($join)
->where($spendWhere)
->where($map)
->where(array('tab_spend.pay_way' => 0))
->sum('tab_spend.pay_amount');//通用币
$list['spend_generic'] = empty($list['spend_generic']) ? 0 : $list['spend_generic'];
$list['spend_binding'] = M('Spend', 'tab_')
->join($join)
->where($spendWhere)
->where($map)
->where(array('tab_spend.pay_way' => -1))
->sum('tab_spend.pay_amount');//绑定币
$list['spend_binding'] = empty($list['spend_binding']) ? 0 : $list['spend_binding'];
$list['spend_discount'] = 0;//折扣币
$list['spend_voucher'] = 0;//代金券
$allData['role_num'] += $list['role_num'];
$allData['user_num'] += $list['user_num'];
$allData['new_user_num'] += $list['new_user_num'];
$allData['new_device_num'] += $list['new_device_num'];
$allData['new_ip_num'] += $list['new_ip_num'];
$allData['login_user_num'] += $list['login_user_num'];
$allData['spend_user_num'] += $list['spend_user_num'];
$allData['spend_num'] += $list['spend_num'];
$allData['spend_all_amount'] = bcadd($allData['spend_all_amount'], $list['spend_all_amount'], 2);
$allData['spend_cash'] = bcadd($allData['spend_cash'], $list['spend_cash'], 2);
$allData['spend_generic'] = bcadd($allData['spend_generic'], $list['spend_generic'], 2);
$allData['spend_binding'] = bcadd($allData['spend_binding'], $list['spend_binding'], 2);
$allData['spend_discount'] = bcadd($allData['spend_discount'], $list['spend_discount'], 2);
$allData['spend_voucher'] = bcadd($allData['spend_voucher'], $list['spend_voucher'], 2);
$summaryData['role_num'][] = $list['role_num'];
$summaryData['user_num'][] = $list['user_num'];
$summaryData['new_user_num'][] = $list['new_user_num'];
$summaryData['new_device_num'][] = $list['new_device_num'];
$summaryData['spend_user_num'][] = $list['spend_user_num'];
$summaryData['spend_all_amount'][] = $list['spend_all_amount'];
} }
$summaryData['date'] = array_reverse($summaryData['date']); $summaryData['date'] = array_reverse($summaryData['date']);

Loading…
Cancel
Save