From 1bd90da91417b97bd7a3d18cdbcac771e7575dcb Mon Sep 17 00:00:00 2001 From: liuweiwen <“529520975@qq.com> Date: Fri, 29 Nov 2019 12:12:35 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E7=BB=9F=E8=AE=A1=E3=80=91-=E3=80=90?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=88=86=E6=9E=90=E3=80=91-=E3=80=90ARPU?= =?UTF-8?q?=E5=88=86=E6=9E=90=E3=80=91=E9=A1=B5=E9=9D=A2=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/StatController.class.php | 56 +++++++++++++++---- 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/Application/Admin/Controller/StatController.class.php b/Application/Admin/Controller/StatController.class.php index a9c341bec..325a530f8 100644 --- a/Application/Admin/Controller/StatController.class.php +++ b/Application/Admin/Controller/StatController.class.php @@ -604,7 +604,11 @@ class StatController extends ThinkController ->where($map) ->group('user_id') ->find(); - $data[$key]['keep_num'] = round($num['num']/$data[$key]['register_num'],4)*100; + if (!empty($data[$key]['register_num'])) { + $data[$key]['keep_num'] = round($num['num']/$data[$key]['register_num'],4)*100; + } else { + $data[$key]['keep_num'] = 0; + } //充值 $map = $map_list; empty($game_name ) || $map['game_name'] = array('like','%'.$game_name.'%'); @@ -638,12 +642,24 @@ class StatController extends ThinkController $data[$key]['new_pop'] = $query[0]['num']; //付费率 - $data[$key]['spend_rate'] = round($data[$key]['spend_people']/$data[$key]['act_user'],4)*100; + if (!empty($data[$key]['act_user'])) { + $data[$key]['spend_rate'] = round($data[$key]['spend_people']/$data[$key]['act_user'],4)*100; + } else { + $data[$key]['spend_rate'] = 0; + } //ARPU - $data[$key]['ARPU'] = round($data[$key]['spend']/$data[$key]['act_user'],2); - //ARPPU - $data[$key]['ARPPU'] = round($data[$key]['spend']/$data[$key]['spend_people'],2); + if (!empty($data[$key]['act_user'])) { + $data[$key]['ARPU'] = round($data[$key]['spend']/$data[$key]['act_user'],2); + } else { + $data[$key]['ARPU'] = 0; + } + //ARPPU + if (!empty($data[$key]['spend_people'])) { + $data[$key]['ARPPU'] = round($data[$key]['spend']/$data[$key]['spend_people'],2); + } else { + $data[$key]['ARPPU'] = 0; + } //累计付费玩家 $map = $map_list; empty($hasbindcoins) || $map['pay_way'] = $hasbindcoins['pay_way']; @@ -1144,7 +1160,11 @@ class StatController extends ThinkController ->join("right join tab_user_login_record as ur on ur.user_id = tab_user.id and FROM_UNIXTIME(ur.login_time,'%Y-%m-%d') = '{$login_time}'") ->where($mapl) ->find(); - $data[$key]['keep_num'] = round($num['num']/$data[$key]['register_num'],4)*100; + if (!empty($data[$key]['register_num'])) { + $data[$key]['keep_num'] = round($num['num']/$data[$key]['register_num'],4)*100; + } else { + $data[$key]['keep_num'] = 0; + } //充值 $mapl = $map_list; empty($game_name ) || $mapl['game_name'] = array('like','%'.$game_name.'%'); @@ -1157,15 +1177,26 @@ class StatController extends ThinkController //付费玩家数 $data[$key]['spend_people'] = $spend['people']; //付费率 - $data[$key]['spend_rate'] = round($data[$key]['spend_people']/$data[$key]['act_user'],4)*100; + if (!empty($data[$key]['act_user'])) { + $data[$key]['spend_rate'] = round($data[$key]['spend_people']/$data[$key]['act_user'],4)*100; + } else { + $data[$key]['spend_rate'] = 0; + } //ARPU - $data[$key]['ARPU'] = round($data[$key]['spend']/$data[$key]['act_user'],2); + if (!empty($data[$key]['act_user'])) { + $data[$key]['ARPU'] = round($data[$key]['spend']/$data[$key]['act_user'],2); + } else { + $data[$key]['ARPU'] = 0; + } //ARPPU - $data[$key]['ARPPU'] = round($data[$key]['spend']/$data[$key]['spend_people'],2); - if($data[$key]['register_num']==0&&$data[$key]['act_user']==0&&$data[$key]['keep_num']==0&&$data[$key]['spend']==0&&$data[$key]['spend_people']==0){ - unset($data[$key]); + if (!empty($data[$key]['spend_people'])) { + $data[$key]['ARPPU'] = round($data[$key]['spend']/$data[$key]['spend_people'],2); + } else { + $data[$key]['ARPPU'] = 0; } - +// if($data[$key]['register_num']==0&&$data[$key]['act_user']==0&&$data[$key]['keep_num']==0&&$data[$key]['spend']==0&&$data[$key]['spend_people']==0){ +// unset($data[$key]); +// } } $count=count($data); if($count > $row){ @@ -1180,6 +1211,7 @@ class StatController extends ThinkController $this->assign('list_data',$data); $this->display(); } + function game_analysis(){ if($_REQUEST['time-start']!=''&&$_REQUEST['time-end']!=''){ $start=$_REQUEST['time-start'];