diff --git a/Application/Admin/Controller/PromoteController.class.php b/Application/Admin/Controller/PromoteController.class.php index 3d690fac7..2b9566d97 100644 --- a/Application/Admin/Controller/PromoteController.class.php +++ b/Application/Admin/Controller/PromoteController.class.php @@ -1373,7 +1373,7 @@ class PromoteController extends ThinkController $this->display(); } - public function belong_add($promote_id=null, $company_belong = null, $company_relation = null, $remark = null) + public function belong_add($promote_id=null, $company_belong = null, $company_relation = null, $remark = null, $can_view_recharge = null) { if (IS_POST) { if (empty($promote_id)) { @@ -1383,6 +1383,7 @@ class PromoteController extends ThinkController 'promote_id' => $promote_id, 'company_belong' => $company_belong, 'company_relation' => $company_relation, + 'can_view_recharge' => $can_view_recharge, 'verify_status' => 0, 'remark' => $remark, 'applicant_id' => getAdmin(), @@ -1409,7 +1410,7 @@ class PromoteController extends ThinkController } } - public function belong_edit($promote_id=null, $company_belong = null, $company_relation = null, $remark = null) + public function belong_edit($promote_id=null, $company_belong = null, $company_relation = null, $remark = null, $can_view_recharge = null) { if (IS_POST) { if (empty($promote_id)) { @@ -1419,6 +1420,7 @@ class PromoteController extends ThinkController 'promote_id' => $promote_id, 'company_belong' => $company_belong, 'company_relation' => $company_relation, + 'can_view_recharge' => $can_view_recharge, 'verify_status' => 0, 'remark' => $remark, 'applicant_id' => getAdmin(), @@ -1458,7 +1460,8 @@ class PromoteController extends ThinkController foreach ($promote_belongs as $promote_belong) { $update = [ 'company_belong' => $promote_belong['company_belong'], - 'company_relation' => $promote_belong['company_relation'] + 'company_relation' => $promote_belong['company_relation'], + 'can_view_recharge' => $promote_belong['can_view_recharge'], ]; $res = M("promote", "tab_") ->where("chain like '%/{$promote_belong['promote_id']}/%' or id={$promote_belong['promote_id']} ") diff --git a/Application/Admin/View/Promote/belong.html b/Application/Admin/View/Promote/belong.html index ae7200bee..14a1128cc 100644 --- a/Application/Admin/View/Promote/belong.html +++ b/Application/Admin/View/Promote/belong.html @@ -73,7 +73,13 @@ - +
+ +
@@ -100,6 +106,7 @@ 身份状态 内外团 归属状态 + 充值信息权限 申请时间 备注 审核 @@ -181,6 +188,14 @@ 只维护 + + + 禁止 + + + 开放 + + {:set_show_time($data['applicant_time'])} {$data['remark']} diff --git a/Application/Admin/View/Promote/belong_add.html b/Application/Admin/View/Promote/belong_add.html index 2f6e6b177..b8cc5467a 100644 --- a/Application/Admin/View/Promote/belong_add.html +++ b/Application/Admin/View/Promote/belong_add.html @@ -89,6 +89,22 @@ + + + 充值信息查看权限: + + + + + + + + + 备注: diff --git a/Application/Admin/View/Promote/belong_edit.html b/Application/Admin/View/Promote/belong_edit.html index 24e8665a0..ead64ec8e 100644 --- a/Application/Admin/View/Promote/belong_edit.html +++ b/Application/Admin/View/Promote/belong_edit.html @@ -100,6 +100,26 @@ + + 充值信息查看权限: + + + + + + + + + 备注: diff --git a/Application/Home/Controller/BaseController.class.php b/Application/Home/Controller/BaseController.class.php index 31c126422..9af51d297 100644 --- a/Application/Home/Controller/BaseController.class.php +++ b/Application/Home/Controller/BaseController.class.php @@ -3,10 +3,20 @@ namespace Home\Controller; use Think\Controller; +use Base\Service\PromoteService; class BaseController extends HomeController { + protected $promotePermissions; protected $loginPromote = null; + protected $canViewUserRecharge = true; + + protected $permControlUrls = [ + 'Home/Query/recharge', + 'Home/Players/playAction', + 'Home/Query/userRecharges', + 'Home/Query/arpu', + ]; protected function _initialize() { @@ -15,7 +25,7 @@ class BaseController extends HomeController $this->login(); $loginer = $this->getLoginPromote(); - $this->certifiCation(); + // $this->certifiCation(); $pid = is_login_promote(); define('PLEVEL', $loginer['parent_id']); define('PID', $pid); @@ -33,9 +43,13 @@ class BaseController extends HomeController define('G_SETTLEMENT_GRADE', 'sub_status,third_status'); } + $this->canViewUserRecharge = $this->promoteCan('view-user-recharge'); + $this->checkUrlPermission(); + $this->assign('loginer', $loginer); $this->assign("parent_id", $loginer['parent_id']); $this->assign("grand_id", $loginer['grand_id']); + $this->assign('canViewUserRecharge', $this->canViewUserRecharge); $result = M('site_apply', 'tab_')->where("promote_id=$pid")->getField('status'); if ($result['status'] == 1) { @@ -342,4 +356,37 @@ class BaseController extends HomeController break; } } + + public function checkUrlPermission() + { + $currentUrl = MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME; + if (!$this->canViewUserRecharge) { + foreach ($this->permControlUrls as $url) { + if (strtolower($currentUrl) == strtolower($url)) { + $this->error('无权限查看'); + } + } + } + } + + public function promoteCan($permission) + { + $promote = $this->getLoginPromote(); + if (!$promote) { + return false; + } + if ($permission == 'recharge') { + if ($promote['level'] == 1) { + return true; + } + } + if ($permission == 'view-user-recharge') { + $promoteService = new PromoteService(); + $topPromote = $promoteService->getTopPromote($promote); + if ($topPromote['can_view_recharge'] == 1) { + return true; + } + } + return false; + } } diff --git a/Application/Home/Controller/CoinOrderController.class.php b/Application/Home/Controller/CoinOrderController.class.php index 652bb5556..1cd7cca4c 100644 --- a/Application/Home/Controller/CoinOrderController.class.php +++ b/Application/Home/Controller/CoinOrderController.class.php @@ -90,14 +90,7 @@ class CoinOrderController extends BaseController //创建订单 public function order_add(){ - - $status = promoteCan(session('promote_auth.pid'), function($level) { - if ($level == 1) { - return true; - } else { - return false; - } - }); + $status = $this->promoteCan('recharge'); if (!$status) { if (IS_POST) { $this->ajaxReturn(array('status' => 0, 'msg'=>'无权限操作')); diff --git a/Application/Home/Controller/DownloadController.class.php b/Application/Home/Controller/DownloadController.class.php index 9d549976e..9dc5af389 100644 --- a/Application/Home/Controller/DownloadController.class.php +++ b/Application/Home/Controller/DownloadController.class.php @@ -2023,24 +2023,25 @@ class DownloadController extends BaseController { public function summaryExcelInfo($id,$map) { $xlsName = "数据汇总"; $xlsCell = array( - array('game_name','游戏名称'), - array('sdk_version','平台'), - array('role_num','创角数'), - array('user_num','创建用户'), - array('new_user_num','新创角用户'), - array('new_device_num','新创角设备'), - array('new_ip_num','新增创角ip'), - array('login_user_num','登陆用户数'), - array('spend_user_num','充值人数'), - array('spend_num','充值次数'), - array('spend_all_amount','充值总额'), - array('spend_cash','现金充值'), - array('spend_generic','通用币充值'), - array('spend_binding','绑定币充值'), - array('spend_discount','折扣币充值'), - array('spend_voucher','代金券使用'), - - ); + array('game_name','游戏名称'), + array('sdk_version','平台'), + array('role_num','创角数'), + array('user_num','创建用户'), + array('new_user_num','新创角用户'), + array('new_device_num','新创角设备'), + array('new_ip_num','新增创角ip'), + array('login_user_num','登陆用户数'), + ); + if($this->canViewUserRecharge) { + $xlsCell[] = array('spend_user_num','充值人数'); + $xlsCell[] = array('spend_num','充值次数'); + $xlsCell[] = array('spend_all_amount','充值总额'); + $xlsCell[] = array('spend_cash','现金充值'); + $xlsCell[] = array('spend_generic','通用币充值'); + $xlsCell[] = array('spend_binding','绑定币充值'); + $xlsCell[] = array('spend_discount','折扣币充值'); + $xlsCell[] = array('spend_voucher','代金券使用'); + } if(!empty($map['tab_apply.promote_id'][1])) { $params['promote_ids'] = $map['tab_apply.promote_id'][1]; } @@ -2135,20 +2136,33 @@ class DownloadController extends BaseController { $allData['new_user_num'] = $userRepository->getNewCreateRoleUserCountByGame($params);//新创角用户 $allData['new_device_num'] = $userRepository->getNewCreateRoleDeviceCountByGame($params);//新创角设备 $allData['new_ip_num'] = $userRepository->getNewCreateRoleIpCountByGame($params);//新创角IP - $allData['login_user_num'] = $userRepository->getLoginCountGroupByGame($params);//登录用户数 - $allData['spend_user_num'] = $spendRepository->getPayUserCountByGame($params);//充值人数 - $allData['spend_num'] = $spendRepository->getPayCountByGame($params);//充值次数 - unset($params['pay_way']); - $allData['spend_all_amount'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//充值总额 - $params['pay_way'] = ['in', '1,2,3,4,5,6']; - $allData['spend_cash'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//现金充值 - $params['pay_way'] = 0; - $allData['spend_generic'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//通用币充值 - $params['pay_way'] = -1; - $allData['spend_binding'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//绑定币充值 - $allData['spend_discount'] = '0.00'; - $allData['spend_voucher'] = '0.00'; - $records[] = $allData; + $allData['login_user_num'] = $userRepository->getLoginCountGroupByGame($params);//登录用户数 + + if($this->canViewUserRecharge) { + $record['spend_user_num'] = $spendUserNumList[$gameId]; + $record['spend_num'] = $spendNumList[$gameId]; + $record['spend_all_amount'] = $spendAllAmountList[$gameId]; + $record['spend_cash'] = $spendCashList[$gameId]; + $record['spend_generic'] = $spendGenericList[$gameId]; + $record['spend_binding'] = $spendBindingList[$gameId]; + $record['spend_discount'] = 0; + $record['spend_voucher'] = 0; + $allData['spend_user_num'] = $spendRepository->getPayUserCountByGame($params);//充值人数 + $allData['spend_num'] = $spendRepository->getPayCountByGame($params);//充值次数 + unset($params['pay_way']); + $allData['spend_all_amount'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//充值总额 + $params['pay_way'] = ['in', '1,2,3,4,5,6']; + $allData['spend_cash'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//现金充值 + $params['pay_way'] = 0; + $allData['spend_generic'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//通用币充值 + $params['pay_way'] = -1; + $allData['spend_binding'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//绑定币充值 + $allData['spend_discount'] = '0.00'; + $allData['spend_voucher'] = '0.00'; + + } + $records[] = $record; + $records[] = $allData; } } @@ -2888,23 +2902,26 @@ class DownloadController extends BaseController { public function dailysummaryExcelInfo($id,$map) { $xlsName = "每日概况"; $xlsCell = array( - array('day','日期'), - array('role_num','创角数'), - array('user_num','创角用户'), - array('new_user_num','新创角用户'), - array('new_device_num','新创角设备'), - array('new_ip_num','新增创角IP'), - array('login_user_num','登陆用户数'), - array('spend_user_num','充值人数'), - array('spend_num','充值次数'), - array('spend_all_amount','充值总额'), - array('spend_cash','现金充值'), - array('spend_generic','通用币充值'), - array('spend_binding','绑定币充值'), - array('spend_discount','折扣币充值'), - array('spend_voucher','代金劵使用'), - - ); + array('day','日期'), + array('role_num','创角数'), + array('user_num','创角用户'), + array('new_user_num','新创角用户'), + array('new_device_num','新创角设备'), + array('new_ip_num','新增创角IP'), + array('login_user_num','登陆用户数'), + + ); + + if ($this->canViewUserRecharge) { + $xlsCell[] = array('spend_user_num','充值人数'); + $xlsCell[] = array('spend_num','充值次数'); + $xlsCell[] = array('spend_all_amount','充值总额'); + $xlsCell[] = array('spend_cash','现金充值'); + $xlsCell[] = array('spend_generic','通用币充值'); + $xlsCell[] = array('spend_binding','绑定币充值'); + $xlsCell[] = array('spend_discount','折扣币充值'); + $xlsCell[] = array('spend_voucher','代金劵使用'); + } $nowTime = date('Y-m-d'); $initBegTime = date('Y-m-d', strtotime('-6 day', strtotime($nowTime))); $initBegTime = empty(I('begtime')) ? $initBegTime : I('begtime'); @@ -2933,7 +2950,6 @@ class DownloadController extends BaseController { } $params['dayList'] = $map["dayList"]; $summaryData = []; - $records = []; if (intval($endTime - $begTime) / (24 * 3600) <= 30) { $userRepository = new UserRepository(); $spendRepository = new SpendRepository(); @@ -2958,14 +2974,16 @@ class DownloadController extends BaseController { $allData['new_device_num'] = 0; $allData['new_ip_num'] = 0; $allData['login_user_num'] = 0; - $allData['spend_user_num'] = 0; - $allData['spend_num'] = 0; - $allData['spend_all_amount'] = 0; - $allData['spend_cash'] = 0; - $allData['spend_generic'] = 0; - $allData['spend_binding'] = 0; - $allData['spend_discount'] = 0; - $allData['spend_voucher'] = 0; + if($this->canViewUserRecharge) { + $allData['spend_user_num'] = 0; + $allData['spend_num'] = 0; + $allData['spend_all_amount'] = 0; + $allData['spend_cash'] = 0; + $allData['spend_generic'] = 0; + $allData['spend_binding'] = 0; + $allData['spend_discount'] = 0; + $allData['spend_voucher'] = 0; + } foreach ($params['dayList'] as $day) { $date = date('Ymd', strtotime($day)); $records[] = [ @@ -2991,15 +3009,26 @@ class DownloadController extends BaseController { $allData['new_device_num'] += $newDeviceNumList[$day]; $allData['new_ip_num'] += $newIpNumList[$day]; $allData['login_user_num'] += $loginUserNumList[$day]; - $allData['spend_user_num'] += $spendUserNumList[$day]; - $allData['spend_num'] += $spendNumList[$day]; - $allData['spend_all_amount'] = bcadd($allData['spend_all_amount'], $spendAllAmountList[$day], 2); - $allData['spend_cash'] = bcadd($allData['spend_cash'], $spendCashList[$day], 2); - $allData['spend_generic'] = bcadd($allData['spend_generic'], $spendGenericList[$day], 2); - $allData['spend_binding'] = bcadd($allData['spend_binding'], $spendBindingList[$day], 2); - $allData['spend_discount'] = bcadd($allData['spend_discount'], 0, 2); - $allData['spend_voucher'] = bcadd($allData['spend_voucher'], 0, 2); - + if ($this->canViewUserRecharge) { + $record['spend_user_num'] = $spendUserNumList[$day]; + $record['spend_num'] = $spendNumList[$day]; + $record['spend_all_amount'] = $$spendAllAmountList[$day]; + $record['spend_cash'] = $spendCashList[$day]; + $record['spend_generic'] = $spendGenericList[$day]; + $record['spend_binding'] = $spendBindingList[$day]; + $record['spend_discount'] = 0; + $record['spend_voucher'] = 0; + $allData['spend_user_num'] += $spendUserNumList[$day]; + $allData['spend_num'] += $spendNumList[$day]; + $allData['spend_all_amount'] = bcadd($allData['spend_all_amount'], $spendAllAmountList[$day], 2); + $allData['spend_cash'] = bcadd($allData['spend_cash'], $spendCashList[$day], 2); + $allData['spend_generic'] = bcadd($allData['spend_generic'], $spendGenericList[$day], 2); + $allData['spend_binding'] = bcadd($allData['spend_binding'], $spendBindingList[$day], 2); + $allData['spend_discount'] = bcadd($allData['spend_discount'], 0, 2); + $allData['spend_voucher'] = bcadd($allData['spend_voucher'], 0, 2); + } + $records[] = $record; + } $allData['day'] = '合计'; $records[] = $allData; @@ -3017,22 +3046,22 @@ class DownloadController extends BaseController { public function achievementExcelInfo($tid,$map) { $xlsName = "推广员业绩"; $xlsCell = array( - array('account','账号'), - array('real_name','姓名'), - array('create_role_count','创角数'), - array('create_role_user_count','创角用户'), - array('new_create_role_user_count','新创角用户'), - array('new_create_role_ip_count','新创角ip'), - array('login_user_count','登陆用户数'), - array('recharge_user_count','充值人数'), - array('recharge_count','充值次数'), - array('recharge_amount','充值总额'), - array('recharge_by_ban_coin','绑定币充值'), - array('recharge_by_coin','通用币充值'), - array('recharge_by_cash','现金充值'), - - - ); + array('account','账号'), + array('real_name','姓名'), + array('create_role_count','创角数'), + array('create_role_user_count','创角用户'), + array('new_create_role_user_count','新创角用户'), + array('new_create_role_ip_count','新创角ip'), + array('login_user_count','登陆用户数'), + ); + if ($this->canViewUserRecharge) { + $xlsCell[] = array('recharge_user_count','充值人数'); + $xlsCell[] = array('recharge_count','充值次数'); + $xlsCell[] = array('recharge_amount','充值总额'); + $xlsCell[] = array('recharge_by_ban_coin','绑定币充值'); + $xlsCell[] = array('recharge_by_coin','通用币充值'); + $xlsCell[] = array('recharge_by_cash','现金充值'); + } $params['isContainSubs'] = $map['isContainSubs']; $params['basicPromotes'] = json_decode($map['basicPromotes'],TRUE); $ids = $map['ids']; @@ -3068,9 +3097,16 @@ class DownloadController extends BaseController { $newCreateRoleDeviceCountList = $promoteRepository->getNewCreateRoleDeviceCountByIds($ids, $params); $newCreateRoleIpCountList = $promoteRepository->getNewCreateRoleIpCountByIds($ids, $params); $loginUserCountList = $promoteRepository->getLoginUserCountByIds($ids, $params); - $rechargeCountList = $promoteRepository->getRechargeCountByIds($ids, $params); - $rechargeUserCountList = $promoteRepository->getRechargeUserCountByIds($ids, $params); - $rechargeAmountList = $promoteRepository->getRechargeAmountByIds($ids, $params); + + $rechargeCountList = []; + $rechargeUserCountList = []; + $rechargeAmountList = []; + if ($this->canViewUserRecharge) { + $rechargeCountList = $promoteRepository->getRechargeCountByIds($ids, $params); + $rechargeUserCountList = $promoteRepository->getRechargeUserCountByIds($ids, $params); + $rechargeAmountList = $promoteRepository->getRechargeAmountByIds($ids, $params); + } + $records = []; if (I('p', 1) == 1) { $selfParams = $params; @@ -3080,12 +3116,8 @@ class DownloadController extends BaseController { $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[] = [ + $record = [ 'id' => $parent['id'], 'account' => $parent['account'], 'real_name' => mb_strlen($parent['real_name'],'utf-8') == 2 ? mb_substr($parent['real_name'],0,1,'utf-8').'*':mb_substr($parent['real_name'],0,1,'utf-8').'**', @@ -3096,18 +3128,24 @@ class DownloadController extends BaseController { // '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, ]; + if ($this->canViewUserRecharge) { + $selfRechargeCountList = $promoteRepository->getRechargeCountByIds([$parent['id']], $selfParams); + $selfRechargeUserCountList = $promoteRepository->getRechargeUserCountByIds([$parent['id']], $selfParams); + $selfRechargeAmountList = $promoteRepository->getRechargeAmountByIds([$parent['id']], $selfParams); + $record['recharge_count'] = $selfRechargeCountList[$parent['id']]; + $record['recharge_user_count'] = $selfRechargeUserCountList[$parent['id']]; + $record['recharge_amount'] = $selfRechargeAmountList[$parent['id']]['ban_coin'] + $selfRechargeAmountList[$parent['id']]['coin'] + $selfRechargeAmountList[$parent['id']]['cash']; + $record['recharge_by_ban_coin'] = $selfRechargeAmountList[$parent['id']]['ban_coin']; + $record['recharge_by_coin'] = $selfRechargeAmountList[$parent['id']]['coin']; + $record['recharge_by_cash'] = $selfRechargeAmountList[$parent['id']]['cash']; + } + $records[] = $record; } foreach ($promotes as $promote) { $id = $promote['id']; - $records[] = [ + $record = [ 'id' => $id, 'account' => $promote['account'], 'real_name' => mb_strlen($promote['real_name'],'utf-8') == 2 ? mb_substr($promote['real_name'],0,1,'utf-8').'*':mb_substr($promote['real_name'],0,1,'utf-8').'**', @@ -3118,14 +3156,17 @@ class DownloadController extends BaseController { 'new_create_role_device_count' => $newCreateRoleDeviceCountList[$id], 'new_create_role_ip_count' => $newCreateRoleIpCountList[$id], 'login_user_count' => $loginUserCountList[$id], - 'recharge_count' => $rechargeCountList[$id], - 'recharge_user_count' => $rechargeUserCountList[$id], - 'recharge_amount' => $rechargeAmountList[$id]['ban_coin'] + $rechargeAmountList[$id]['coin'] + $rechargeAmountList[$id]['cash'], - 'recharge_by_ban_coin' => $rechargeAmountList[$id]['ban_coin'], - 'recharge_by_coin' => $rechargeAmountList[$id]['coin'], - 'recharge_by_cash' => $rechargeAmountList[$id]['cash'], 'current_display' => '', ]; + if ($this->canViewUserRecharge) { + $record['recharge_count'] = $rechargeCountList[$id]; + $record['recharge_user_count'] = $rechargeUserCountList[$id]; + $record['recharge_amount'] = $rechargeAmountList[$id]['ban_coin'] + $rechargeAmountList[$id]['coin'] + $rechargeAmountList[$id]['cash']; + $record['recharge_by_ban_coin'] = $rechargeAmountList[$id]['ban_coin']; + $record['recharge_by_coin'] = $rechargeAmountList[$id]['coin']; + $record['recharge_by_cash'] = $rechargeAmountList[$id]['cash']; + } + $records[] = $record; } $xlsData = []; foreach ($records as $key1 => $value1) { diff --git a/Application/Home/Controller/PromoteController.class.php b/Application/Home/Controller/PromoteController.class.php index e08f08cdb..af6d64798 100644 --- a/Application/Home/Controller/PromoteController.class.php +++ b/Application/Home/Controller/PromoteController.class.php @@ -557,6 +557,17 @@ class PromoteController extends BaseController ->where("qmn.status=0") ->order("qmn.id asc") ->select(); + + if (!$this->canViewUserRecharge) { + foreach ($data_list as $key => $item) { + foreach ($this->permControlUrls as $url) { + if (stripos($item['url'], $url) !== false) { + unset($data_list[$key]); + } + } + } + } + $this->assign("data_list", $data_list); $this->meta_title = "快捷菜单"; $this->display(); diff --git a/Application/Home/Controller/QueryController.class.php b/Application/Home/Controller/QueryController.class.php index b51415efc..aa5387634 100644 --- a/Application/Home/Controller/QueryController.class.php +++ b/Application/Home/Controller/QueryController.class.php @@ -1128,15 +1128,17 @@ class QueryController extends BaseController $newDeviceNumList = $userRepository->getNewCreateRoleDeviceCountByDay($params);//新创角设备 $newIpNumList = $userRepository->getNewCreateRoleIpCountByDay($params);//新创角IP $loginUserNumList = $userRepository->getLoginCountGroupByDayNew($params);//登录用户数 - $spendUserNumList = $spendRepository->getPayUserCountGroupByDayNew($params);//充值人数 - $spendNumList = $spendRepository->getPayCountGroupByDay($params);//充值次数 - $spendAllAmountList = $spendRepository->getPayAmountGroupByDayAndType($params);//充值总额 - $params['pay_way'] = ['in', '1,2,3,4,5,6']; - $spendCashList = $spendRepository->getPayAmountGroupByDayAndType($params);//现金充值 - $params['pay_way'] = 0; - $spendGenericList = $spendRepository->getPayAmountGroupByDayAndType($params);//通用币充值 - $params['pay_way'] = -1; - $spendBindingList = $spendRepository->getPayAmountGroupByDayAndType($params);//绑定币充值 + if ($this->canViewUserRecharge) { + $spendUserNumList = $spendRepository->getPayUserCountGroupByDayNew($params);//充值人数 + $spendNumList = $spendRepository->getPayCountGroupByDay($params);//充值次数 + $spendAllAmountList = $spendRepository->getPayAmountGroupByDayAndType($params);//充值总额 + $params['pay_way'] = ['in', '1,2,3,4,5,6']; + $spendCashList = $spendRepository->getPayAmountGroupByDayAndType($params);//现金充值 + $params['pay_way'] = 0; + $spendGenericList = $spendRepository->getPayAmountGroupByDayAndType($params);//通用币充值 + $params['pay_way'] = -1; + $spendBindingList = $spendRepository->getPayAmountGroupByDayAndType($params);//绑定币充值 + } $allData['role_num'] = 0; $allData['user_num'] = 0; @@ -1144,17 +1146,19 @@ class QueryController extends BaseController $allData['new_device_num'] = 0; $allData['new_ip_num'] = 0; $allData['login_user_num'] = 0; - $allData['spend_user_num'] = 0; - $allData['spend_num'] = 0; - $allData['spend_all_amount'] = 0; - $allData['spend_cash'] = 0; - $allData['spend_generic'] = 0; - $allData['spend_binding'] = 0; - $allData['spend_discount'] = 0; - $allData['spend_voucher'] = 0; + if ($this->canViewUserRecharge) { + $allData['spend_user_num'] = 0; + $allData['spend_num'] = 0; + $allData['spend_all_amount'] = 0; + $allData['spend_cash'] = 0; + $allData['spend_generic'] = 0; + $allData['spend_binding'] = 0; + $allData['spend_discount'] = 0; + $allData['spend_voucher'] = 0; + } foreach ($dayList as $day) { $date = date('Ymd', strtotime($day)); - $records[] = [ + $record = [ 'day' => $date, 'role_num' => $roleNumList[$day], 'user_num' => $userNumList[$day], @@ -1162,14 +1166,6 @@ class QueryController extends BaseController 'new_device_num' => $newDeviceNumList[$day], 'new_ip_num' => $newIpNumList[$day], 'login_user_num' => $loginUserNumList[$day], - 'spend_user_num' => $spendUserNumList[$day], - 'spend_num' => $spendNumList[$day], - 'spend_all_amount' => $spendAllAmountList[$day], - 'spend_cash' => $spendCashList[$day], - 'spend_generic' => $spendGenericList[$day], - 'spend_binding' => $spendBindingList[$day], - 'spend_discount' => 0, - 'spend_voucher' => 0, ]; $allData['role_num'] += $roleNumList[$day]; @@ -1178,14 +1174,27 @@ class QueryController extends BaseController $allData['new_device_num'] += $newDeviceNumList[$day]; $allData['new_ip_num'] += $newIpNumList[$day]; $allData['login_user_num'] += $loginUserNumList[$day]; - $allData['spend_user_num'] += $spendUserNumList[$day]; - $allData['spend_num'] += $spendNumList[$day]; - $allData['spend_all_amount'] = bcadd($allData['spend_all_amount'], $spendAllAmountList[$day], 2); - $allData['spend_cash'] = bcadd($allData['spend_cash'], $spendCashList[$day], 2); - $allData['spend_generic'] = bcadd($allData['spend_generic'], $spendGenericList[$day], 2); - $allData['spend_binding'] = bcadd($allData['spend_binding'], $spendBindingList[$day], 2); - $allData['spend_discount'] = bcadd($allData['spend_discount'], 0, 2); - $allData['spend_voucher'] = bcadd($allData['spend_voucher'], 0, 2); + + if ($this->canViewUserRecharge) { + $record['spend_user_num'] = $spendUserNumList[$day]; + $record['spend_num'] = $spendNumList[$day]; + $record['spend_all_amount'] = $spendAllAmountList[$day]; + $record['spend_cash'] = $spendCashList[$day]; + $record['spend_generic'] = $spendGenericList[$day]; + $record['spend_binding'] = $spendBindingList[$day]; + $record['spend_discount'] = 0; + $record['spend_voucher'] = 0; + + $allData['spend_user_num'] += $spendUserNumList[$day]; + $allData['spend_num'] += $spendNumList[$day]; + $allData['spend_all_amount'] = bcadd($allData['spend_all_amount'], $spendAllAmountList[$day], 2); + $allData['spend_cash'] = bcadd($allData['spend_cash'], $spendCashList[$day], 2); + $allData['spend_generic'] = bcadd($allData['spend_generic'], $spendGenericList[$day], 2); + $allData['spend_binding'] = bcadd($allData['spend_binding'], $spendBindingList[$day], 2); + $allData['spend_discount'] = bcadd($allData['spend_discount'], 0, 2); + $allData['spend_voucher'] = bcadd($allData['spend_voucher'], 0, 2); + } + $records[] = $record; } foreach ($dayListReverse as $day) { $date = date('Ymd', strtotime($day)); @@ -1194,8 +1203,10 @@ class QueryController extends BaseController $summaryData['user_num'][] = $userNumList[$day]; $summaryData['new_user_num'][] = $newUserNumList[$day]; $summaryData['new_device_num'][] = $newDeviceNumList[$day]; - $summaryData['spend_user_num'][] = $spendUserNumList[$day]; - $summaryData['spend_all_amount'][] = $spendAllAmountList[$day]; + if ($this->canViewUserRecharge) { + $summaryData['spend_user_num'][] = $spendUserNumList[$day]; + $summaryData['spend_all_amount'][] = $spendAllAmountList[$day]; + } } } @@ -1314,18 +1325,20 @@ class QueryController extends BaseController $newDeviceNumList = $userRepository->getNewCreateRoleDeviceCountByGame($params);//新创角设备 $newIpNumList = $userRepository->getNewCreateRoleIpCountByGame($params);//新创角IP $loginUserNumList = $userRepository->getLoginCountGroupByGame($params);//登录用户数 - $spendUserNumList = $spendRepository->getPayUserCountGroupByGame($params);//充值人数 - $spendNumList = $spendRepository->getPayCountGroupByGame($params);//充值次数 - $spendAllAmountList = $spendRepository->getPayAmountGroupByGameAndType($params);//充值总额 - $params['pay_way'] = ['in', '1,2,3,4,5,6']; - $spendCashList = $spendRepository->getPayAmountGroupByGameAndType($params);//现金充值 - $params['pay_way'] = 0; - $spendGenericList = $spendRepository->getPayAmountGroupByGameAndType($params);//通用币充值 - $params['pay_way'] = -1; - $spendBindingList = $spendRepository->getPayAmountGroupByGameAndType($params);//绑定币充值 + if ($this->canViewUserRecharge) { + $spendUserNumList = $spendRepository->getPayUserCountGroupByGame($params);//充值人数 + $spendNumList = $spendRepository->getPayCountGroupByGame($params);//充值次数 + $spendAllAmountList = $spendRepository->getPayAmountGroupByGameAndType($params);//充值总额 + $params['pay_way'] = ['in', '1,2,3,4,5,6']; + $spendCashList = $spendRepository->getPayAmountGroupByGameAndType($params);//现金充值 + $params['pay_way'] = 0; + $spendGenericList = $spendRepository->getPayAmountGroupByGameAndType($params);//通用币充值 + $params['pay_way'] = -1; + $spendBindingList = $spendRepository->getPayAmountGroupByGameAndType($params);//绑定币充值 + } foreach ($data as &$list) { $gameId = $list['game_id']; - $records[] = [ + $record = [ 'game_id' => $gameId, 'game_name' => $list['game_name'], 'sdk_version' => $list['sdk_version'], @@ -1335,15 +1348,19 @@ class QueryController extends BaseController 'new_device_num' => $newDeviceNumList[$gameId], 'new_ip_num' => $newIpNumList[$gameId], 'login_user_num' => $loginUserNumList[$gameId], - 'spend_user_num' => $spendUserNumList[$gameId], - 'spend_num' => $spendNumList[$gameId], - 'spend_all_amount' => $spendAllAmountList[$gameId], - 'spend_cash' => $spendCashList[$gameId], - 'spend_generic' => $spendGenericList[$gameId], - 'spend_binding' => $spendBindingList[$gameId], - 'spend_discount' => 0, - 'spend_voucher' => 0, ]; + if ($this->canViewUserRecharge) { + $record['spend_user_num'] = $spendUserNumList[$gameId]; + $record['spend_num'] = $spendNumList[$gameId]; + $record['spend_all_amount'] = $spendAllAmountList[$gameId]; + $record['spend_cash'] = $spendCashList[$gameId]; + $record['spend_generic'] = $spendGenericList[$gameId]; + $record['spend_binding'] = $spendBindingList[$gameId]; + $record['spend_discount'] = 0; + $record['spend_voucher'] = 0; + } + + $records[] = $record; } $params['all_data'] = 1; $params['game_ids'] = $allGameIs; @@ -1353,18 +1370,20 @@ class QueryController extends BaseController $allData['new_device_num'] = $userRepository->getNewCreateRoleDeviceCountByGame($params);//新创角设备 $allData['new_ip_num'] = $userRepository->getNewCreateRoleIpCountByGame($params);//新创角IP $allData['login_user_num'] = $userRepository->getLoginCountGroupByGame($params);//登录用户数 - $allData['spend_user_num'] = $spendRepository->getPayUserCountByGame($params);//充值人数 - $allData['spend_num'] = $spendRepository->getPayCountByGame($params);//充值次数 - unset($params['pay_way']); - $allData['spend_all_amount'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//充值总额 - $params['pay_way'] = ['in', '1,2,3,4,5,6']; - $allData['spend_cash'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//现金充值 - $params['pay_way'] = 0; - $allData['spend_generic'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//通用币充值 - $params['pay_way'] = -1; - $allData['spend_binding'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//绑定币充值 - $allData['spend_discount'] = '0.00'; - $allData['spend_voucher'] = '0.00'; + if ($this->canViewUserRecharge) { + $allData['spend_user_num'] = $spendRepository->getPayUserCountByGame($params);//充值人数 + $allData['spend_num'] = $spendRepository->getPayCountByGame($params);//充值次数 + unset($params['pay_way']); + $allData['spend_all_amount'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//充值总额 + $params['pay_way'] = ['in', '1,2,3,4,5,6']; + $allData['spend_cash'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//现金充值 + $params['pay_way'] = 0; + $allData['spend_generic'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//通用币充值 + $params['pay_way'] = -1; + $allData['spend_binding'] = null_to_0($spendRepository->getPayAmountByGameAndType($params));//绑定币充值 + $allData['spend_discount'] = '0.00'; + $allData['spend_voucher'] = '0.00'; + } } } @@ -2093,9 +2112,15 @@ class QueryController extends BaseController // $newCreateRoleDeviceCountList = $promoteRepository->getNewCreateRoleDeviceCountByIds($ids, $params); $newCreateRoleIpCountList = $promoteRepository->getNewCreateRoleIpCountByIds($ids, $params); $loginUserCountList = $promoteRepository->getLoginUserCountByIds($ids, $params); - $rechargeCountList = $promoteRepository->getRechargeCountByIds($ids, $params); - $rechargeUserCountList = $promoteRepository->getRechargeUserCountByIds($ids, $params); - $rechargeAmountList = $promoteRepository->getRechargeAmountByIds($ids, $params); + + $rechargeCountList = []; + $rechargeUserCountList = []; + $rechargeAmountList = []; + if ($this->canViewUserRecharge) { + $rechargeCountList = $promoteRepository->getRechargeCountByIds($ids, $params); + $rechargeUserCountList = $promoteRepository->getRechargeUserCountByIds($ids, $params); + $rechargeAmountList = $promoteRepository->getRechargeAmountByIds($ids, $params); + } if (I('p', 1) == 1) { $selfParams = $params; @@ -2106,10 +2131,7 @@ class QueryController extends BaseController // $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[] = [ + $record = [ 'id' => $parent['id'], 'account' => $parent['account'], 'real_name' => mb_strlen($parent['real_name'],'utf-8') == 2 ? mb_substr($parent['real_name'],0,1,'utf-8').'*':mb_substr($parent['real_name'],0,1,'utf-8').'**', @@ -2120,18 +2142,24 @@ class QueryController extends BaseController // '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, ]; + if ($this->canViewUserRecharge) { + $selfRechargeCountList = $promoteRepository->getRechargeCountByIds([$parent['id']], $selfParams); + $selfRechargeUserCountList = $promoteRepository->getRechargeUserCountByIds([$parent['id']], $selfParams); + $selfRechargeAmountList = $promoteRepository->getRechargeAmountByIds([$parent['id']], $selfParams); + $record['recharge_count'] = $selfRechargeCountList[$parent['id']]; + $record['recharge_user_count'] = $selfRechargeUserCountList[$parent['id']]; + $record['recharge_amount'] = $selfRechargeAmountList[$parent['id']]['ban_coin'] + $selfRechargeAmountList[$parent['id']]['coin'] + $selfRechargeAmountList[$parent['id']]['cash']; + $record['recharge_by_ban_coin'] = $selfRechargeAmountList[$parent['id']]['ban_coin']; + $record['recharge_by_coin'] = $selfRechargeAmountList[$parent['id']]['coin']; + $record['recharge_by_cash'] = $selfRechargeAmountList[$parent['id']]['cash']; + } + $records[] = $record; } foreach ($promotes as $promote) { $id = $promote['id']; - $records[] = [ + $record = [ 'id' => $id, 'account' => $promote['account'], 'real_name' => mb_strlen($promote['real_name'],'utf-8') == 2 ? mb_substr($promote['real_name'],0,1,'utf-8').'*':mb_substr($promote['real_name'],0,1,'utf-8').'**', @@ -2142,14 +2170,17 @@ class QueryController extends BaseController // 'new_create_role_device_count' => $newCreateRoleDeviceCountList[$id], 'new_create_role_ip_count' => $newCreateRoleIpCountList[$id], 'login_user_count' => $loginUserCountList[$id], - 'recharge_count' => $rechargeCountList[$id], - 'recharge_user_count' => $rechargeUserCountList[$id], - 'recharge_amount' => $rechargeAmountList[$id]['ban_coin'] + $rechargeAmountList[$id]['coin'] + $rechargeAmountList[$id]['cash'], - 'recharge_by_ban_coin' => $rechargeAmountList[$id]['ban_coin'], - 'recharge_by_coin' => $rechargeAmountList[$id]['coin'], - 'recharge_by_cash' => $rechargeAmountList[$id]['cash'], 'current_display' => '', ]; + if ($this->canViewUserRecharge) { + $record['recharge_count'] = $rechargeCountList[$id]; + $record['recharge_user_count'] = $rechargeUserCountList[$id]; + $record['recharge_amount'] = $rechargeAmountList[$id]['ban_coin'] + $rechargeAmountList[$id]['coin'] + $rechargeAmountList[$id]['cash']; + $record['recharge_by_ban_coin'] = $rechargeAmountList[$id]['ban_coin']; + $record['recharge_by_coin'] = $rechargeAmountList[$id]['coin']; + $record['recharge_by_cash'] = $rechargeAmountList[$id]['cash']; + } + $records[] = $record; } } else { $timeout = 1; diff --git a/Application/Home/View/default/Promote/index.html b/Application/Home/View/default/Promote/index.html index 406f23825..aa8c3c342 100644 --- a/Application/Home/View/default/Promote/index.html +++ b/Application/Home/View/default/Promote/index.html @@ -4,6 +4,7 @@
+
  • 推广总用户

    {$data.count}
  • 推广总充值

    ¥{$spendData.sum_count}
  • @@ -16,6 +17,13 @@
  • 今日注册用户

    {$data.today}
  • 今日充值金额

    ¥{$spendData.sum_today}
+ +
    +
  • 推广总用户

    {$data.count}
  • +
  • 昨日注册用户

    {$data.yesterday}
  • +
  • 今日注册用户

    {$data.today}
  • +
+
    diff --git a/Application/Home/View/default/Public/promote_base.html b/Application/Home/View/default/Public/promote_base.html index 1e53ffa9a..a9eb58304 100644 --- a/Application/Home/View/default/Public/promote_base.html +++ b/Application/Home/View/default/Public/promote_base.html @@ -52,20 +52,25 @@
+ $isOpenQuery = true; + ?> - @@ -128,10 +133,12 @@
+ + diff --git a/Application/Home/View/default/Query/achievement.html b/Application/Home/View/default/Query/achievement.html index 06106905f..24f66ec0e 100644 --- a/Application/Home/View/default/Query/achievement.html +++ b/Application/Home/View/default/Query/achievement.html @@ -83,12 +83,14 @@ 新创角IP 登录用户数 + 充值人数 充值次数 充值总额 现金充值 通用币充值 绑定币充值 + 操作 @@ -109,12 +111,14 @@ {$record.new_create_role_ip_count} {$record.login_user_count} + {$record.recharge_user_count} {$record.recharge_count} {$record.recharge_amount} {$record.recharge_by_cash} {$record.recharge_by_coin} {$record.recharge_by_ban_coin} + diff --git a/Application/Home/View/default/Query/dailySummary.html b/Application/Home/View/default/Query/dailySummary.html index 4558669a4..5d5076ba7 100644 --- a/Application/Home/View/default/Query/dailySummary.html +++ b/Application/Home/View/default/Query/dailySummary.html @@ -158,9 +158,11 @@

新创角用户|设备

+

充值人数|充值总额

+ @@ -179,6 +181,7 @@ 新增创角IP 登录用户数 + 充值人数 充值次数 充值总额 代金劵使用 + @@ -208,6 +212,7 @@ {$allData.new_user_num}|{$allData.new_device_num} {$allData.new_ip_num} {$allData.login_user_num} + {$allData.spend_user_num} {$allData.spend_num} {$allData.spend_all_amount} @@ -216,6 +221,7 @@ {$allData.spend_binding} {$allData.spend_discount} {$allData.spend_voucher} + @@ -225,6 +231,7 @@ {$vo.new_user_num}|{$vo.new_device_num} {$vo.new_ip_num} {$vo.login_user_num} + {$vo.spend_user_num} {$vo.spend_num} {$vo.spend_all_amount} @@ -233,6 +240,7 @@ {$vo.spend_binding} {$vo.spend_discount} {$vo.spend_voucher} + @@ -323,10 +331,12 @@ dataName2 = '新创角设备'; break; case 3: + data1 = spendUserNum; data2 = spendAllAmount; dataName1 = '充值人数'; dataName2 = '充值总额'; + break; } diff --git a/Application/Home/View/default/Query/summary.html b/Application/Home/View/default/Query/summary.html index 45dd0de9a..2ffba8ee6 100644 --- a/Application/Home/View/default/Query/summary.html +++ b/Application/Home/View/default/Query/summary.html @@ -146,6 +146,7 @@ 新增创角IP 登录用户数 + 充值人数 充值次数 充值总额 代金劵使用 + @@ -177,6 +179,7 @@ {$vo.new_user_num}|{$vo.new_device_num} {$vo.new_ip_num} {$vo.login_user_num} + {$vo.spend_user_num} {$vo.spend_num} {$vo.spend_all_amount|default=0} @@ -185,6 +188,7 @@ {$vo.spend_binding|default=0} {$vo.spend_discount|default=0} {$vo.spend_voucher|default=0} + @@ -195,6 +199,7 @@ {$allData.new_user_num}|{$allData.new_device_num} {$allData.new_ip_num} {$allData.login_user_num} + {$allData.spend_user_num} {$allData.spend_num} {$allData.spend_all_amount} @@ -203,6 +208,7 @@ {$allData.spend_binding} {$allData.spend_discount} {$allData.spend_voucher} + diff --git a/Data/update.sql b/Data/update.sql index f19b14761..6dd8afb94 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -1114,4 +1114,11 @@ ADD COLUMN `relation_game_id` int(11) NOT NULL DEFAULT 0 COMMENT '关联游戏id ALTER TABLE `tab_spend` MODIFY COLUMN `selle_status` int(11) NOT NULL DEFAULT 0 COMMENT '渠道结算 0未结算1 结算', -MODIFY COLUMN `selle_ratio` double(5, 2) DEFAULT 0.00 COMMENT '渠道分成比例'; \ No newline at end of file +MODIFY COLUMN `selle_ratio` double(5, 2) DEFAULT 0.00 COMMENT '渠道分成比例'; + +-- 是否需要修复旧数据 +ALTER TABLE `tab_promote` +ADD COLUMN `can_view_recharge` tinyint(1) NOT NULL default 0 COMMENT '是否显示充值数据 0否 1是'; + +ALTER TABLE `tab_promote_belong` +ADD COLUMN `can_view_recharge` tinyint(1) NOT NULL default 0 COMMENT '是否显示充值数据 0否 1是';