diff --git a/Application/Admin/Controller/MemberController.class.php b/Application/Admin/Controller/MemberController.class.php
index 32d5d8532..7d0a4cb7e 100644
--- a/Application/Admin/Controller/MemberController.class.php
+++ b/Application/Admin/Controller/MemberController.class.php
@@ -212,9 +212,11 @@ class MemberController extends ThinkController
->group('tab_user.id')
->where($hav)
->having($havs)->select(false);
+
+ $allcountsql = str_replace("tab_user.promote_id","ss.promote_id",$sql);
//获取总额
- $allcount = M()->field('count(a.id) as count,sum(a.recharge_total) recharge_total')->table('(' . $sql . ') as a')->select();
- $this->assign('history_count', $allcount[0]['recharge_total']);
+ $allcount = M()->field('count(a.id) as count,sum(a.recharge_total) recharge_total')->table('(' . $allcountsql . ') as a')->select();
+ $this->assign('history_count', $allcount[0]['recharge_total']?:0);
//替换为新表
if($_REQUEST['promote_id'] && $_REQUEST['promote_id'] > -1){
@@ -227,9 +229,10 @@ class MemberController extends ThinkController
}
$jcount = M('User', 'tab_')->field('count(a.id) as count,sum(a.recharge_total) recharge_total')->table('(' . $sql . ') as a')->select();
- $count = $jcount[0]['count'];
- //var_dump($jcount);die();
- $this->assign('now_count', $jcount[0]['recharge_total']);
+ $count = $jcount[0]['count'] ?:0 ;
+ $this->assign('user_count', $count);
+ // var_dump($jcount);die();
+ $this->assign('now_count', $jcount[0]['recharge_total']?:0);
$model = M('Model')->getByName('user');
diff --git a/Application/Admin/Controller/RechargeSumController.class.php b/Application/Admin/Controller/RechargeSumController.class.php
index c877ce33e..3c6b68fa8 100644
--- a/Application/Admin/Controller/RechargeSumController.class.php
+++ b/Application/Admin/Controller/RechargeSumController.class.php
@@ -48,7 +48,7 @@ class RechargeSumController extends ThinkController
}
//当天注册人数
- $registerNum = D('User')->where(array_merge($rmap, array('puid' => 0)))->join("tab_user_play on tab_user.id = tab_user_play.user_id and tab_user.fgame_id = tab_user_play.game_id")->field("tab_user.id")->select();
+ $registerNum = D('User')->where(array_merge($rmap, array('puid' => 0)))->join("tab_user_play on tab_user.id = tab_user_play.user_id and tab_user.fgame_id = tab_user_play.game_id", 'left')->field("tab_user.id")->select();
$registerNum = $registerNum ? array_column($registerNum, 'id') : [];
//当天活跃人数
diff --git a/Application/Admin/Controller/SpendController.class.php b/Application/Admin/Controller/SpendController.class.php
index ade87c965..945cc790f 100644
--- a/Application/Admin/Controller/SpendController.class.php
+++ b/Application/Admin/Controller/SpendController.class.php
@@ -100,7 +100,6 @@ class SpendController extends ThinkController
$map = '1 = 2';
$map1 = $map;
}
- echo (D(self::model_name)->where($map1)->fetchSql(true)->sum('pay_amount'));
$total = null_to_0(D(self::model_name)->where($map1)->sum('pay_amount'));
$ttotal = null_to_0(D(self::model_name)->where('pay_time' . total(1))->where(array('pay_status' => 1))->sum('pay_amount'));
$ytotal = null_to_0(D(self::model_name)->where('pay_time' . total(5))->where(array('pay_status' => 1))->sum('pay_amount'));
diff --git a/Application/Admin/Controller/ToolController.class.php b/Application/Admin/Controller/ToolController.class.php
index 6f177429b..5d36aab97 100644
--- a/Application/Admin/Controller/ToolController.class.php
+++ b/Application/Admin/Controller/ToolController.class.php
@@ -339,6 +339,15 @@ class ToolController extends ThinkController {
$data[$name] = $config;
$configs=array_merge($configs,$data);
$result = file_put_contents($config_file, "where([
+ 'name' => $name
+ ])->save([
+ 'config' => $ageConfigJson,
+ 'type' => 1,
+ 'status' => isset($config['status']) ? $config['status'] : $config['bat']
+ ]);
}
public function ios_game(){
diff --git a/Application/Admin/View/Member/user_info.html b/Application/Admin/View/Member/user_info.html
index 3111dcb7f..1dfdca0d9 100644
--- a/Application/Admin/View/Member/user_info.html
+++ b/Application/Admin/View/Member/user_info.html
@@ -224,8 +224,8 @@
注册方式 |
注册时间 |
+ 注册IP |
最后登录时间 |
- 最后登录IP |
设备号 |
账号状态 |
拉黑状态 |
@@ -276,6 +276,7 @@
{$data.register_time|date='Y-m-d H:i:s',###} |
+ {$data.register_ip} |
空
@@ -283,7 +284,6 @@
{$data['login_time']|date='Y-m-d H:i:s',###}
|
- {$data.register_ip} |
{$data.device_number} |
@@ -310,7 +310,8 @@
当前用户累计充值:{$now_count}
- 历史累计充值:{$history_count}
+ 历史累计充值:{$history_count}
+ 用户数:{$user_count}
|
当前用户累计充值: 当前属于该推广员的用户的充值累计(不含用户换绑前记录) /
@@ -318,7 +319,7 @@
|
- 当前用户累计充值:{$now_count}
+ 当前用户累计充值:{$now_count} 用户数:{$user_count}
|
diff --git a/Application/Home/Controller/DownloadController.class.php b/Application/Home/Controller/DownloadController.class.php
index 72465e89d..a88cc4292 100644
--- a/Application/Home/Controller/DownloadController.class.php
+++ b/Application/Home/Controller/DownloadController.class.php
@@ -1420,7 +1420,9 @@ class DownloadController extends BaseController {
'basicPromotes' => json_encode($basicPromotes,FALSE),
];
$map['promotes'] = json_encode($data,FALSE);
- $map['ids'] = $ids;
+ $map['parentsinfo'] = json_encode($parent,FALSE);;
+ $map['currentDisplay'] = $currentDisplay;
+ $map['ids'] = $ids;
if ($gameId > 0) {
$params['game_id'] = $gameId;
}
@@ -1812,7 +1814,7 @@ class DownloadController extends BaseController {
array('create_time','创建时间'),
);
$model = M('user_play_info','tab_');
- $data = $model->field('user_account,promote_account,game_name,server_name,role_name,role_level')->where($map)->order('create_time desc')->select();
+ $data = $model->field('user_account,promote_account,game_name,server_name,role_name,role_level,create_time')->where($map)->order('create_time desc')->select();
$xlsData = [];
foreach ($data as $key1 => $value1) {
$value1['user_account'] = $this->encryption($value1['user_account']);
@@ -1873,7 +1875,7 @@ class DownloadController extends BaseController {
->join($serverJoin)//关联区服表
->where($map)
->group('tab_apply.game_id')
- ->order('g.sort desc,tab_apply.id desc')
+ ->order('g.sort desc,g.id desc')
->select();
$records = [];
if (!empty($data)) {
@@ -2693,6 +2695,15 @@ class DownloadController extends BaseController {
if(!empty($map['lock_status'])) {
$params['lock_status'] = $map["lock_status"];
}
+
+ if(!empty($map['parentsinfo'])) {
+ $parent = json_decode($map['parentsinfo'],TRUE);
+ unset($map['parentsinfo']);
+ }
+ if(!empty($map['currentDisplay'])) {
+ $currentDisplay = $map['currentDisplay'];
+ unset($map['currentDisplay']);
+ }
$params['begin_time'] = $map['begin_time'];
$params['end_time'] = $map['end_time'];
@@ -2707,6 +2718,39 @@ class DownloadController extends BaseController {
$rechargeUserCountList = $promoteRepository->getRechargeUserCountByIds($ids, $params);
$rechargeAmountList = $promoteRepository->getRechargeAmountByIds($ids, $params);
$records = [];
+ if (I('p', 1) == 1) {
+ $selfParams = $params;
+ $selfParams['isContainSubs'] = false;
+ $selfCreateRoleCountList = $promoteRepository->getCreateRoleCountByIds([$parent['id']], $selfParams);
+ $selfCreateRoleUserCountList = $promoteRepository->getCreateRoleUserCountByIds([$parent['id']], $selfParams);
+ $selfNewCreateRoleUserCountList = $promoteRepository->getNewCreateRoleUserCountByIds([$parent['id']], $selfParams);
+ // $selfNewCreateRoleDeviceCountList = $promoteRepository->getNewCreateRoleDeviceCountByIds([$parent['id']], $selfParams);
+ $selfNewCreateRoleIpCountList = $promoteRepository->getNewCreateRoleIpCountByIds([$parent['id']], $selfParams);
+
+ $selfLoginUserCountList = $promoteRepository->getLoginUserCountByIds([$parent['id']], $selfParams);
+ $selfRechargeCountList = $promoteRepository->getRechargeCountByIds([$parent['id']], $selfParams);
+ $selfRechargeUserCountList = $promoteRepository->getRechargeUserCountByIds([$parent['id']], $selfParams);
+ $selfRechargeAmountList = $promoteRepository->getRechargeAmountByIds([$parent['id']], $selfParams);
+ $records[] = [
+ 'id' => $parent['id'],
+ 'account' => $parent['account'],
+ 'real_name' => $parent['real_name'],
+ 'level' => $parent['level'],
+ 'create_role_count' => $selfCreateRoleCountList[$parent['id']],
+ 'create_role_user_count' => $selfCreateRoleUserCountList[$parent['id']],
+ 'new_create_role_user_count' => $selfNewCreateRoleUserCountList[$parent['id']],
+ // 'new_create_role_device_count' => $selfNewCreateRoleDeviceCountList[$parent['id']],
+ 'new_create_role_ip_count' => $selfNewCreateRoleIpCountList[$parent['id']],
+ 'login_user_count' => $selfLoginUserCountList[$parent['id']],
+ 'recharge_count' => $selfRechargeCountList[$parent['id']],
+ 'recharge_user_count' => $selfRechargeUserCountList[$parent['id']],
+ 'recharge_amount' => $selfRechargeAmountList[$parent['id']]['ban_coin'] + $selfRechargeAmountList[$parent['id']]['coin'] + $selfRechargeAmountList[$parent['id']]['cash'],
+ 'recharge_by_ban_coin' => $selfRechargeAmountList[$parent['id']]['ban_coin'],
+ 'recharge_by_coin' => $selfRechargeAmountList[$parent['id']]['coin'],
+ 'recharge_by_cash' => $selfRechargeAmountList[$parent['id']]['cash'],
+ 'current_display' => $currentDisplay,
+ ];
+ }
foreach ($promotes as $promote) {
$id = $promote['id'];
$records[] = [
@@ -2769,7 +2813,9 @@ class DownloadController extends BaseController {
$subMap['create_time'] = ['between', [$map['begintime'], $map['endtime'] - 1]];
$roleIdMap = $subMap;
$roleIds = M('user_play_data_count', 'tab_')->where($roleIdMap)->group('role_id')->getField('role_id', true);
- $map['role_id'] = ['in', $roleIds];
+ if (count($roleIds) > 0) {
+ $map['role_id'] = ['in', $roleIds];
+ }
if ($costBegin != '' || $costEnd != '') {
$having = '';
if ($costBegin != '' && $costEnd != '') {
diff --git a/Application/Home/Controller/QueryController.class.php b/Application/Home/Controller/QueryController.class.php
index c4d6fa044..8b2338baa 100644
--- a/Application/Home/Controller/QueryController.class.php
+++ b/Application/Home/Controller/QueryController.class.php
@@ -1772,7 +1772,9 @@ class QueryController extends BaseController
$subMap['create_time'] = ['between', [$begTime, $endTime - 1]];
$roleIdMap = $subMap;
$roleIds = M('user_play_data_count', 'tab_')->where($roleIdMap)->group('role_id')->getField('role_id', true);
- $map['role_id'] = ['in', $roleIds];
+ if (count($roleIds) > 0) {
+ $map['role_id'] = ['in', $roleIds];
+ }
if ($costBegin != '' || $costEnd != '') {
$having = '';
if ($costBegin != '' && $costEnd != '') {
diff --git a/Application/Home/View/default/Query/arpu.html b/Application/Home/View/default/Query/arpu.html
index 8a7c9619f..a3aa103aa 100644
--- a/Application/Home/View/default/Query/arpu.html
+++ b/Application/Home/View/default/Query/arpu.html
@@ -159,22 +159,22 @@
游戏名称 |
- 付费游戏数 |
+ 付费游戏数 |
所属渠道 |
- 活跃用户 |
- 新增用户 |
- 付费用户 |
- 新增付费用户 |
- 付费总额 |
- 付费率 |
- 新增付费额 |
- 累计付费用户 |
+ 活跃用户 |
+ 新增用户 |
+ 付费用户 |
+ 新增付费用户 |
+ 付费总额 |
+ 付费率 |
+ 新增付费额 |
+ 累计付费用户 |
- ARPU |
- ARPPU |
+ ARPU |
+ ARPPU |
详情 |