@ -44,14 +44,21 @@ class QueryController extends BaseController
$map['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
$teamLeaderId = I('team_leader_id');//组长账号
$teamLeaderId = intval( I('team_leader_id') );//组长账号
if (!empty($teamLeaderId)) {
$hasTeamLeaderPermission = hasPromotePermission(PID, $teamLeaderId);
if ($hasTeamLeaderPermission === false) {
$this->error('组长权限异常');
}
$map['tab_spend.promote_id'] = $teamLeaderId;
$childPromoteIds = getAllChildPromoteList(3, $teamLeaderId);
if (empty($childPromoteIds)) {
$map['tab_spend.promote_id'] = $teamLeaderId;
} else {
$childPromoteIds = $teamLeaderId . ',' . $childPromoteIds;
$map['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
}
$promoteId = I('promote_id');//推广员账号
@ -61,18 +68,10 @@ class QueryController extends BaseController
$this->error('推广员权限异常');
}
if (!empty($map['tab_spend.promote_id'])) {
$map['_string'] = 'tab_spend.promote_id = ' . $promoteId;
} else {
$map['tab_spend.promote_id'] = $promoteId;
}
$map['tab_spend.promote_id'] = $promoteId;
}
if (!empty(I('own_id'))) {
if (!empty($map['_string'])) {
unset($map['_string']);
}
$map['tab_spend.promote_id'] = I('own_id');//本账号
}
@ -84,11 +83,15 @@ class QueryController extends BaseController
$map['tab_spend.pay_time'] = ['between', [strtotime(I('begtime')), strtotime(I('endtime')) + 86399]];
}
if (I('pay_way') !== null & & I('pay_way') !== '') {
if (I('pay_way') == 2) {
$map['tab_spend.pay_way'] = ['in', '2,3,4'];
} else {
$map['tab_spend.pay_way'] = I('pay_way');
if (isset($_REQUEST['pay_way']) & & $_REQUEST['pay_way'] !== '') {
$payWay = intval(I('pay_way'));
if (in_array($payWay, array_keys(QueryController::$payWay))) {
if ($payWay == 2) {
$map['tab_spend.pay_way'] = ['in', '2,3,4'];
} else {
$map['tab_spend.pay_way'] = $payWay;
}
}
}
@ -142,6 +145,7 @@ class QueryController extends BaseController
empty(I('own_id')) || $parameter['own_id'] = I('own_id');
empty(I('begtime')) || $parameter['begtime'] = I('begtime');
empty(I('endtime')) || $parameter['endtime'] = I('endtime');
!isset($_REQUEST['pay_way']) || $parameter['pay_way'] = I('pay_way');
$serverData = $this->getServer(I('relation_game_id'), I('sdk_version'));
@ -159,6 +163,9 @@ class QueryController extends BaseController
$this->assign('pID', PID);
$this->assign('ownId', I('own_id'));
$this->assign('payWayData', QueryController::$payWay);
if (!empty(I('team_leader_id'))) {
$this->assign('teamLeaderData', getAllPromoteListByType(1, false, intval(I('team_leader_id'))));
}
$this->meta_title = "订单查询";
$this->display();
}
@ -181,14 +188,21 @@ class QueryController extends BaseController
$map['tab_user.promote_id'] = ['in', $childPromoteIds];
}
$teamLeaderId = I('team_leader_id');//组长账号
$teamLeaderId = intval( I('team_leader_id') );//组长账号
if (!empty($teamLeaderId)) {
$hasTeamLeaderPermission = hasPromotePermission(PID, $teamLeaderId);
if ($hasTeamLeaderPermission === false) {
$this->error('组长权限异常');
}
$map['tab_user.promote_id'] = $teamLeaderId;
$childPromoteIds = getAllChildPromoteList(3, $teamLeaderId);
if (empty($childPromoteIds)) {
$map['tab_user.promote_id'] = $teamLeaderId;
} else {
$childPromoteIds = $teamLeaderId . ',' . $childPromoteIds;
$map['tab_user.promote_id'] = ['in', $childPromoteIds];
}
}
$promoteId = I('promote_id');//推广员账号
@ -198,18 +212,10 @@ class QueryController extends BaseController
$this->error('推广员权限异常');
}
if (!empty($map['tab_user.promote_id'])) {
$map['_string'] = 'tab_user.promote_id = ' . $promoteId;
} else {
$map['tab_user.promote_id'] = $promoteId;
}
$map['tab_user.promote_id'] = $promoteId;
}
if (!empty(I('own_id'))) {
if (!empty($map['_string'])) {
unset($map['_string']);
}
$map['tab_user.promote_id'] = I('own_id');//本账号
}
@ -272,6 +278,9 @@ class QueryController extends BaseController
$this->assign('thisParentPromoteId', $thisParentPromoteId);
$this->assign('pID', PID);
$this->assign('ownId', I('own_id'));
if (!empty(I('team_leader_id'))) {
$this->assign('teamLeaderData', getAllPromoteListByType(1, false, intval(I('team_leader_id'))));
}
$this->meta_title = '注册明细';
$this->display();
}
@ -653,10 +662,10 @@ class QueryController extends BaseController
{
$this->meta_title = 'ARPU统计';
$defaultTime = date('Y-m-d', time() - 7 * 24 * 3600) . ' 至 ' . date('Y-m-d');
$defaultTime = date('Y-m-d', time() - 7 * 24 * 3600) . ' 至 ' . date('Y-m-d');
$defaultTime = date('Y-m-d', time() - 6 * 24 * 3600) . ' 至 ' . date('Y-m-d');
$time = I('time', $defaultTime);
$time = I('time', '');
$time = $time == '' ? $defaultTime : $time;
$sdkVersion = I('sdk_version', 0);
$gameId = I('game_id', 0);
$serverId = I('server_id', 0);
@ -668,16 +677,20 @@ class QueryController extends BaseController
'grand_id' => $promote['id'],
];
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$subPromotes = M('promote', 'tab_')->field(['id', 'account', 'real_name'])->where(['parent_id' => $promote['id']])->select();
$games = $this->getGamesByPromote($promote);
$params = [];
$searchGameName = '';
$searchServerName = '';
if ($gameId > 0) {
$params['game_id'] = $gameId;
$searchGameName = M('game', 'tab_')->where(['id' => $gameId])->getField('game_name');
}
if ($serverId > 0) {
$params['server_id'] = $serverId;
$searchServerName = M('server', 'tab_')->where(['server_id' => $serverId])->getField('server_name');
}
if ($sdkVersion > 0) {
$params['sdk_version'] = $sdkVersion;
@ -695,14 +708,14 @@ class QueryController extends BaseController
if (intval($endTime - $beginTime) / (24 * 3600) < = 30) {
$userRepository = new UserRepository();
$spendRepository = new SpendRepository();
$payGameCountList = $spendRepository->getPayGameCountByDay($params);
$payUserCountList = $spendRepository->getPayUserCountByDay($params);
$newPayUserCountList = $spendRepository->getNewPayUserCountByDay($params);
$payAmountList = $spendRepository->getPayAmountByDay($params);
$newPayAmountList = $spendRepository->getNewPayAmountByDay($params);
$historyPayCountList = $spendRepository->getHistoryPayCountByDay($params);
$loginCountList = $userRepository->getLoginCountByDay($params);
$registerCountList = $userRepository->getRegisterCountByDay($params);
$payGameCountList = $spendRepository->getPayGameCountGroup ByDay($params);
$payUserCountList = $spendRepository->getPayUserCountGroup ByDay($params);
$newPayUserCountList = $spendRepository->getNewPayUserCountGroup ByDay($params);
$payAmountList = $spendRepository->getPayAmountGroup ByDay($params);
$newPayAmountList = $spendRepository->getNewPayAmountGroup ByDay($params);
$historyPayCountList = $spendRepository->getHistoryPayCountGroup ByDay($params);
$loginCountList = $userRepository->getLoginCountGroup ByDay($params);
$registerCountList = $userRepository->getRegisterCountGroup ByDay($params);
foreach ($dayList as $day) {
$records[] = [
@ -728,9 +741,39 @@ class QueryController extends BaseController
$this->assign('subPromotes', $subPromotes);
$this->assign('timeout', $timeout);
$this->assign('records', $records);
$this->assign('searchGameName', $searchGameName);
$this->assign('searchServerName', $searchServerName);
$this->display();
}
public function gameArpu()
{
$promote = $this->getLoginPromote();
$map = [
'_logic' => 'or',
'id' => $promote['id'],
'parent_id' => $promote['id'],
'grand_id' => $promote['id'],
];
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$time = I('time', date('Y-m-d'));
$applys = M('Apply', 'tab_')->field('game_id, game_name')->where(['promote_id' => $promote['id']])->order('game_id desc')->select();
$gameIds = array_column($applys, 'game_id');
$params = [
'begin_time' => strtotime($time . ' 00:00:00'),
'end_time' => strtotime($time . ' 23:59:59'),
'game_ids' => $gameIds,
'promote_ids' => $ids,
];
$spendRepository = new SpendRepository();
// $result = $spendRepository->getHistoryPayCountGroupByGame($params);
$result = $spendRepository->getPayGameCountGroupByGame($params);
var_dump($result);
}
public function arpu_analysis()
{
$this->meta_title = "ARPU统计";
@ -960,16 +1003,25 @@ class QueryController extends BaseController
$spendWhere['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
$teamLeaderId = I('team_leader_id');//组长账号
$teamLeaderId = intval( I('team_leader_id') );//组长账号
if (!empty($teamLeaderId)) {
$hasTeamLeaderPermission = hasPromotePermission(PID, $teamLeaderId);
if ($hasTeamLeaderPermission === false) {
$this->error('组长权限异常');
}
$userPlayInfoWhere['tab_user_play_info.promote_id'] = $teamLeaderId;
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = $teamLeaderId;
$spendWhere['tab_spend.promote_id'] = $teamLeaderId;
$childPromoteIds = getAllChildPromoteList(3, $teamLeaderId);
if (empty($childPromoteIds)) {
$userPlayInfoWhere['tab_user_play_info.promote_id'] = $teamLeaderId;
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = $teamLeaderId;
$spendWhere['tab_spend.promote_id'] = $teamLeaderId;
} else {
$childPromoteIds = $teamLeaderId . ',' . $childPromoteIds;
$userPlayInfoWhere['tab_user_play_info.promote_id'] = ['in', $childPromoteIds];
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = ['in', $childPromoteIds];
$spendWhere['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
}
$promoteId = I('promote_id');//推广员账号
@ -979,24 +1031,12 @@ class QueryController extends BaseController
$this->error('推广员权限异常');
}
if (!empty($userPlayInfoWhere['tab_apply.promote_id'])) {
$userPlayInfoWhere['_string'] = 'tab_user_play_info.promote_id = ' . $promoteId;
$userGameLoginWhere['_string'] = 'tab_user_game_login_record.promote_id = ' . $promoteId;
$spendWhere['_string'] = 'tab_spend.promote_id = ' . $promoteId;
} else {
$userPlayInfoWhere['tab_user_play_info.promote_id'] = $promoteId;
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = $promoteId;
$spendWhere['tab_spend.promote_id'] = $promoteId;
}
$userPlayInfoWhere['tab_user_play_info.promote_id'] = $promoteId;
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = $promoteId;
$spendWhere['tab_spend.promote_id'] = $promoteId;
}
if (!empty(I('own_id'))) {
if (!empty($userPlayInfoWhere['_string'])) {
unset($userPlayInfoWhere['_string']);
unset($userGameLoginWhere['_string']);
unset($spendWhere['_string']);
}
$userPlayInfoWhere['tab_user_play_info.promote_id'] = I('own_id');
$userGameLoginWhere['tab_user_game_login_record.promote_id'] = I('own_id');
$spendWhere['tab_spend.promote_id'] = I('own_id');
@ -1184,6 +1224,9 @@ class QueryController extends BaseController
$this->assign('serverData', $serverData['data']);
$this->assign('thisParentPromoteId', $thisParentPromoteId);
$this->assign('pID', PID);
if (!empty(I('team_leader_id'))) {
$this->assign('teamLeaderData', getAllPromoteListByType(1, false, intval(I('team_leader_id'))));
}
$this->display();
}
@ -1218,10 +1261,20 @@ class QueryController extends BaseController
$this->error('组长权限异常');
}
$map['tab_apply.promote_id'] = $teamLeaderId;
$userPlayInfoMap['tab_user_play_info.promote_id'] = $teamLeaderId;
$userGameLoginMap['tab_user_game_login_record.promote_id'] = $teamLeaderId;
$spendMap['tab_spend.promote_id'] = $teamLeaderId;
$childPromoteIds = getAllChildPromoteList(3, $teamLeaderId);
if (empty($childPromoteIds)) {
$map['tab_apply.promote_id'] = $teamLeaderId;
$userPlayInfoMap['tab_user_play_info.promote_id'] = $teamLeaderId;
$userGameLoginMap['tab_user_game_login_record.promote_id'] = $teamLeaderId;
$spendMap['tab_spend.promote_id'] = $teamLeaderId;
} else {
$childPromoteIds = $teamLeaderId . ',' . $childPromoteIds;
$map['tab_apply.promote_id'] = ['in', $childPromoteIds];
$userPlayInfoMap['tab_user_play_info.promote_id'] = ['in', $childPromoteIds];
$userGameLoginMap['tab_user_game_login_record.promote_id'] = ['in', $childPromoteIds];
$spendMap['tab_spend.promote_id'] = ['in', $childPromoteIds];
}
}
$promoteId = intval(I('promote_id'));//推广员账号
@ -1231,21 +1284,14 @@ class QueryController extends BaseController
$this->error('推广员权限异常');
}
$map['_string'] = 'tab_apply.promote_id = ' . $promoteId;
$userPlayInfoMap['_string'] = 'tab_user_play_info.promote_id = ' . $promoteId;
$userGameLoginMap['_string'] = 'tab_user_game_login_record.promote_id = ' . $promoteId;
$spendMap['_string'] = 'tab_spend.promote_id = ' . $promoteId;
$map['tab_apply.promote_id'] = $promoteId;
$userPlayInfoMap['tab_user_play_info.promote_id'] = $promoteId;
$userGameLoginMap['tab_user_game_login_record.promote_id'] = $promoteId;
$spendMap['tab_spend.promote_id'] = $promoteId;
}
$ownId = intval(I('own_id'));//本账号
if (!empty($ownId)) {
if (!empty($map['_string'])) {
unset($map['_string']);
unset($userPlayInfoMap['_string']);
unset($userGameLoginMap['_string']);
unset($spendMap['_string']);
}
$map['tab_apply.promote_id'] = $ownId;
$userPlayInfoMap['tab_user_play_info.promote_id'] = $ownId;
$userGameLoginMap['tab_user_game_login_record.promote_id'] = $ownId;
@ -1438,6 +1484,9 @@ class QueryController extends BaseController
$this->assign('serverData', $serverData['data']);
$this->assign('thisParentPromoteId', $thisParentPromoteId);
$this->assign('pID', PID);
if (!empty(I('team_leader_id'))) {
$this->assign('teamLeaderData', getAllPromoteListByType(1, false, intval(I('team_leader_id'))));
}
$this->display();
}
@ -1731,6 +1780,13 @@ class QueryController extends BaseController
'parent_id' => $promote['id'],
'grand_id' => $promote['id'],
];
if ($headmanPromoteId > 0) {
$map['parent_id'] = $headmanPromoteId;
}
if ($promoteId > 0) {
$map['id'] = $promoteId;
}
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$promotes = [];
@ -1752,7 +1808,7 @@ class QueryController extends BaseController
$map['role_name'] = ['like', '%' . $roleName . '%'];
}
if ($userAccount != '') {
$map['user_acount'] = ['like', '%' . $userAccount . '%'];
$map['user_acc ount'] = ['like', '%' . $userAccount . '%'];
}
if ($sdkVersion != 0) {
$map['sdk_version'] = $sdkVersion;
@ -1779,7 +1835,6 @@ class QueryController extends BaseController
}
if ($isSelf) {
$map['promote_id'] = $promote['id'];
} else {
if ($headmanPromoteId != 0) {
$map['promote_id'] = $headmanPromoteId;
}
@ -1819,6 +1874,12 @@ class QueryController extends BaseController
'parent_id' => $promote['id'],
'grand_id' => $promote['id'],
];
if ($headmanPromoteId > 0) {
$map['parent_id'] = $headmanPromoteId;
}
if ($promoteId > 0) {
$map['id'] = $promoteId;
}
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$promotes = [];
@ -1838,7 +1899,7 @@ class QueryController extends BaseController
$map['role_name'] = ['like', '%' . $roleName . '%'];
}
if ($userAccount != '') {
$map['user_acount'] = ['like', '%' . $userAccount . '%'];
$map['user_acc ount'] = ['like', '%' . $userAccount . '%'];
}
if ($sdkVersion != 0) {
$map['sdk_version'] = $sdkVersion;
@ -1846,11 +1907,12 @@ class QueryController extends BaseController
if ($isSelf) {
$map['promote_id'] = $promote['id'];
$spendMap['promote_id'] = $promote['id'];
} else {
if ($headmanPromoteId != 0) {
$map['promote_id'] = $headmanPromoteId;
$spendMap['promote_id'] = $headmanPromoteId;
}
if ($promoteId != 0) {
$map['promote_id'] = $promoteId;
$spendMap['promote_id'] = $promoteId;
@ -2010,6 +2072,7 @@ class QueryController extends BaseController
$gameId = I('game_id', 0);
$serverId = I('server_id', 0);
$parentId = I('parent_id', 0);
$promoteId = I('promote_id', 0);
$loginPromote = $this->getLoginPromote();
@ -2024,7 +2087,12 @@ class QueryController extends BaseController
$subPromotes = M('promote', 'tab_')->field(['id', 'account', 'real_name'])->where(['parent_id' => $promote['id']])->select();
$query = M('promote', 'tab_')->field(['id', 'account', 'real_name'])->where(['parent_id' => $promote['id']]);
$map = ['parent_id' => $promote['id']];
if ($promoteId > 0) {
$map['id'] = $promoteId;
}
$query = M('promote', 'tab_')->field(['id', 'account', 'real_name'])->where($map);
list($promotes, $pagination, $count) = $this->paginate($query);
$ids = array_column($promotes, 'id');
@ -2108,4 +2176,21 @@ class QueryController extends BaseController
$this->assign('count', $count);
$this->display();
}
public function getChildPromoteList()
{
$promoteId = I('post.promote_id', 0);
if ($promoteId == 0) {
$data['status'] = 0;
$data['msg'] = '数据异常';
$this->ajaxReturn($data);
}
$promoteList = getAllPromoteListByType(3, false, $promoteId);
$data['status'] = 1;
$data['data'] = $promoteList;
$this->ajaxReturn($data);
}
}