|
|
@@ -29,7 +29,7 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$whereSql = $this->generateWhereSql($params);
|
|
|
|
|
|
// 根据日期,连表查询
|
|
|
- $tableNames = ToolLogic::getMonthlyTableNames('base_total_hour_', $where['reg_date'][0], $where['reg_date'][1]);
|
|
|
+ $tableNames = getMonthlyTableNames('base_total_hour_', $where['reg_date'][0], $where['reg_date'][1]);
|
|
|
$sqlParts = [];
|
|
|
foreach ($tableNames as $tableName) {
|
|
|
$sqlParts[] = "SELECT * FROM {$tableName} WHERE 1=1 {$whereSql}";
|
|
|
@@ -59,11 +59,11 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
}
|
|
|
unset($hourRow['agent_id'], $hourRow['hour']);
|
|
|
// 注册成本
|
|
|
- $hourRow['reg_cost'] = ToolLogic::getRound($hourRow['cost'], $hourRow['reg_total']);
|
|
|
+ $hourRow['reg_cost'] = getRound($hourRow['cost'], $hourRow['reg_total']);
|
|
|
// 付费率
|
|
|
- $hourRow['pay_rate'] = ToolLogic::getPercent($hourRow['reg_pay_num'], $hourRow['reg_total']);
|
|
|
+ $hourRow['pay_rate'] = getPercent($hourRow['reg_pay_num'], $hourRow['reg_total']);
|
|
|
// 回本率
|
|
|
- $hourRow['roi'] = ToolLogic::getPercent($hourRow['reg_pay_total'], $hourRow['cost']);
|
|
|
+ $hourRow['roi'] = getPercent($hourRow['reg_pay_total'], $hourRow['cost']);
|
|
|
|
|
|
// 统计数据,每小时的数据
|
|
|
$total[$hourKey]['reg_total'] = !empty($total[$hourKey]['reg_total']) ? ($total[$hourKey]['reg_total'] + $hourRow['reg_total']) : $hourRow['reg_total'];
|
|
|
@@ -81,9 +81,9 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
// 计算统计的注册成本、付费绿、回本率
|
|
|
foreach ($total as $key => &$v) {
|
|
|
if (!is_array($v)) continue; // 跳过 agent_id => 合计 等非数组元素
|
|
|
- $v['reg_cost'] = ToolLogic::getRound($v['cost'], $v['reg_total']);
|
|
|
- $v['pay_rate'] = ToolLogic::getPercent($v['reg_pay_num'], $v['reg_total']);
|
|
|
- $v['roi'] = ToolLogic::getPercent($v['reg_pay_total'], $v['cost']);
|
|
|
+ $v['reg_cost'] = getRound($v['cost'], $v['reg_total']);
|
|
|
+ $v['pay_rate'] = getPercent($v['reg_pay_num'], $v['reg_total']);
|
|
|
+ $v['roi'] = getPercent($v['reg_pay_total'], $v['cost']);
|
|
|
}
|
|
|
|
|
|
// 计算行汇总
|
|
|
@@ -94,9 +94,9 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$item['total_raw']['reg'] = round(array_sum(array_column($item, 'reg')), 2);
|
|
|
$item['total_raw']['pay_num'] = round(array_sum(array_column($item, 'pay_num')), 2);
|
|
|
$item['total_raw']['pay'] = round(array_sum(array_column($item, 'pay')), 2);
|
|
|
- $item['total_raw']['reg_cost'] = ToolLogic::getRound($item['total_raw']['cost'], $item['total_raw']['reg'], 1);
|
|
|
- $item['total_raw']['pay_rate'] = ToolLogic::getPercent($item['total_raw']['pay_num'], $item['total_raw']['reg']);
|
|
|
- $item['total_raw']['roi'] = ToolLogic::getPercent($item['total_raw']['pay'], $item['total_raw']['cost']);
|
|
|
+ $item['total_raw']['reg_cost'] = getRound($item['total_raw']['cost'], $item['total_raw']['reg'], 1);
|
|
|
+ $item['total_raw']['pay_rate'] = getPercent($item['total_raw']['pay_num'], $item['total_raw']['reg']);
|
|
|
+ $item['total_raw']['roi'] = getPercent($item['total_raw']['pay'], $item['total_raw']['cost']);
|
|
|
}
|
|
|
|
|
|
$data = array_values($hourResult);
|
|
|
@@ -117,7 +117,7 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
|
|
|
// 1. 注册数据:$regData = 按照日期,获取每日的 注册数【reg_total】分组,base_total_day_2025
|
|
|
|
|
|
- $baseTotalDayTableNames = ToolLogic::getYearlyTableNames('base_total_day_', $params['reg_date'][0], $params['reg_date'][1]);
|
|
|
+ $baseTotalDayTableNames = getYearlyTableNames('base_total_day_', $params['reg_date'][0], $params['reg_date'][1]);
|
|
|
|
|
|
$baseTotalDaySqlParts = [];
|
|
|
foreach ($baseTotalDayTableNames as $tableName) {
|
|
|
@@ -132,7 +132,7 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
|
|
|
// 2. 活跃数据:$actData = 按照日期,获取每日的 活跃数 SUM(【active_total】) 活跃天数 【days】, 分组 【reg_date,days】,game_active_day_2025
|
|
|
|
|
|
- $gameActiveDayTableNames = ToolLogic::getYearlyTableNames('game_active_day_', $params['reg_date'][0], $params['reg_date'][1]);
|
|
|
+ $gameActiveDayTableNames = getYearlyTableNames('game_active_day_', $params['reg_date'][0], $params['reg_date'][1]);
|
|
|
|
|
|
$gameActiveDaySqlParts = [];
|
|
|
|
|
|
@@ -174,9 +174,9 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
for ($i = 1; $i <= $days; $i++) {
|
|
|
$dayKey = 'd' . $i;
|
|
|
// d1...dn的reg = 记录按日的注册数
|
|
|
- $totalData[$dayKey]['reg'] = !empty($totalData[$dayKey]['reg']) ? $totalData[$dayKey]['reg'] + $r['reg_total'] : $r['reg_total'];
|
|
|
+ $totalData[$dayKey]['reg'] +=! $r['reg_total'];
|
|
|
}
|
|
|
- $totalData['reg'] = !empty($totalData['reg']) ? $totalData['reg'] + $r['reg_total'] : $r['reg_total'];
|
|
|
+ $totalData['reg'] += $r['reg_total'];
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -199,9 +199,9 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
// 活跃天数的key
|
|
|
$dayKey = 'd' . $r['days'];
|
|
|
// N日留存率 = 第N天活跃数 ÷ 注册日注册数 × 100%。
|
|
|
- $list[$reg_date][$dayKey] = ToolLogic::getPercent($r['active'], $list[$reg_date]['reg']);
|
|
|
+ $list[$reg_date][$dayKey] = getPercent($r['active'], $list[$reg_date]['reg']);
|
|
|
// d1...dn的reg = 记录按日的活跃数
|
|
|
- $totalData[$dayKey]['active'] = !empty($totalData[$dayKey]['active']) ? $totalData[$dayKey]['active'] + $r['active'] : $r['active'];
|
|
|
+ $totalData[$dayKey]['active'] += $r['active'];
|
|
|
}
|
|
|
|
|
|
$total = [];
|
|
|
@@ -209,7 +209,7 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
if ($key == 'reg') {
|
|
|
$total['reg'] = $val;
|
|
|
} else {
|
|
|
- $total[$key] = ToolLogic::getPercent($val['active']??0, $val['reg']??0);
|
|
|
+ $total[$key] = getPercent($val['active'], $val['reg']);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -355,36 +355,36 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
unset($baseData[$key]);
|
|
|
}
|
|
|
// 注册成本
|
|
|
- $row['reg_cost'] = ToolLogic::getRound($cost, $row['reg_total'] ?? 0);
|
|
|
+ $row['reg_cost'] = getRound($cost, $row['reg_total'] ?? 0);
|
|
|
// 创角率
|
|
|
- $row['role_per'] = ToolLogic::getRound($row['role_total'], $row['reg_total'] ?? 0);
|
|
|
+ $row['role_per'] = getRound($row['role_total'], $row['reg_total'] ?? 0);
|
|
|
// 次留数
|
|
|
$row['active'] = $activeData[$typeId]['active'] ?? 0;
|
|
|
// 次留率
|
|
|
- $row['a_per'] = ToolLogic::getPercent($activeData[$typeId]['active'] ?? 0, $row['reg_total'], 1);
|
|
|
+ $row['a_per'] = getPercent($activeData[$typeId]['active'] ?? 0, $row['reg_total'], 1);
|
|
|
// 次留成本
|
|
|
- $row['a_cost'] = ToolLogic::getRound($cost, $row['active'], 1);
|
|
|
+ $row['a_cost'] = getRound($cost, $row['active'], 1);
|
|
|
// 总付费金额
|
|
|
$row['reg_pay_total'] = $regPayData[$typeId]['reg_pay_total'] ?? 0;
|
|
|
// 总付费人数
|
|
|
$row['reg_pay_num'] = $regPayData[$typeId]['reg_pay_num'] ?? 0;
|
|
|
//付费成本
|
|
|
- $row['p_cost'] = ToolLogic::getRound($row['cost'], $row['reg_pay_num']);
|
|
|
+ $row['p_cost'] = getRound($row['cost'], $row['reg_pay_num']);
|
|
|
// 付费率
|
|
|
- $row['p_per'] = ToolLogic::getPercent($row['reg_pay_num'] ?? 0, $row['reg_total'], 1);
|
|
|
+ $row['p_per'] = getPercent($row['reg_pay_num'] ?? 0, $row['reg_total'], 1);
|
|
|
// 当天回本率
|
|
|
- $row['da_per'] = ToolLogic::getPercent($row['reg_pay_total_da'] ?? 0, $row['cost'], 1);
|
|
|
+ $row['da_per'] = getPercent($row['reg_pay_total_da'] ?? 0, $row['cost'], 1);
|
|
|
// 累计回本率
|
|
|
$row['re_per'] = (float)trim(ToolLogic::getPercent($row['reg_pay_total'], $row['cost']), "%");
|
|
|
$row['reg_pay_amount'] = $hb7dayData[$typeId]['reg_pay_amount'] ?? 0;
|
|
|
// 实际回本率
|
|
|
- $row['re_amount_per'] = ToolLogic::getPercent($row['reg_pay_amount'], $row['cost'], 1);
|
|
|
+ $row['re_amount_per'] = getPercent($row['reg_pay_amount'], $row['cost'], 1);
|
|
|
//ARPU
|
|
|
- $row['arpu'] = ToolLogic::getRound($row['reg_pay_total'], $row['reg_pay_num']);
|
|
|
+ $row['arpu'] = getRound($row['reg_pay_total'], $row['reg_pay_num']);
|
|
|
//注册ARPU
|
|
|
- $row['r_arpu'] = ToolLogic::getRound($row['reg_pay_total'], $row['reg_total']);
|
|
|
+ $row['r_arpu'] = getRound($row['reg_pay_total'], $row['reg_total']);
|
|
|
// 7天回本率
|
|
|
- $row['re_amount_per_7'] = ToolLogic::getPercent($hb7dayData[$typeId] ?? 0, $row['cost'], 1);
|
|
|
+ $row['re_amount_per_7'] = getPercent($hb7dayData[$typeId] ?? 0, $row['cost'], 1);
|
|
|
|
|
|
// 按分组信息展示,id和name
|
|
|
switch ($params['group'] ?? '') {
|
|
|
@@ -431,29 +431,29 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
}
|
|
|
|
|
|
// 注册成本
|
|
|
- $total['reg_cost'] = ToolLogic::getRound($total['cost']??0, $total['reg_total'] ?? 0);
|
|
|
+ $total['reg_cost'] = getRound($total['cost']??0, $total['reg_total'] ?? 0);
|
|
|
// 汇总创角率
|
|
|
- $total['role_per'] = ToolLogic::getRound($total['role_total']??0, $total['reg_total'] ?? 0);
|
|
|
+ $total['role_per'] = getRound($total['role_total']??0, $total['reg_total'] ?? 0);
|
|
|
// 次留率
|
|
|
- $total['a_per'] = ToolLogic::getPercent($total['active']??0, $total['reg_total']??0, 1);
|
|
|
+ $total['a_per'] = getPercent($total['active']??0, $total['reg_total']??0, 1);
|
|
|
// 次留成本
|
|
|
- $total['a_cost'] = ToolLogic::getRound($total['cost']??0, $total['active']??0, 1);
|
|
|
+ $total['a_cost'] = getRound($total['cost']??0, $total['active']??0, 1);
|
|
|
// 付费率
|
|
|
- $total['p_per'] = ToolLogic::getPercent($total['reg_pay_num']??0, $total['reg_total']??0, 1);
|
|
|
+ $total['p_per'] = getPercent($total['reg_pay_num']??0, $total['reg_total']??0, 1);
|
|
|
// 当天回本率
|
|
|
- $total['da_per'] = ToolLogic::getPercent($total['reg_pay_total_da']??0, $total['cost']??0, 1);
|
|
|
+ $total['da_per'] = getPercent($total['reg_pay_total_da']??0, $total['cost']??0, 1);
|
|
|
// 累计回本率
|
|
|
$total['re_per'] = (float)trim(ToolLogic::getPercent($total['reg_pay_total']??0, $total['cost']??0), "%");
|
|
|
// 实际回本率
|
|
|
- $total['re_amount_per'] = ToolLogic::getPercent($total['reg_pay_amount']??0, $total['cost']??0, 1);
|
|
|
+ $total['re_amount_per'] = getPercent($total['reg_pay_amount']??0, $total['cost']??0, 1);
|
|
|
//ARPU
|
|
|
- $total['arpu'] = ToolLogic::getRound($total['reg_pay_total']??0, $total['reg_pay_num']??0);
|
|
|
+ $total['arpu'] = getRound($total['reg_pay_total']??0, $total['reg_pay_num']??0);
|
|
|
//注册ARPU
|
|
|
- $total['r_arpu'] = ToolLogic::getRound($total['reg_pay_total']??0, $total['reg_total']??0);
|
|
|
+ $total['r_arpu'] = getRound($total['reg_pay_total']??0, $total['reg_total']??0);
|
|
|
// 7天回本率
|
|
|
- $total['re_amount_per_7'] = ToolLogic::getPercent($hb7dayDataSum??0, $total['cost']??0, 1);
|
|
|
+ $total['re_amount_per_7'] = getPercent($hb7dayDataSum??0, $total['cost']??0, 1);
|
|
|
//付费成本
|
|
|
- $total['p_cost'] = ToolLogic::getRound($total['reg_pay_num']??0, $total['cost']??0, 1);
|
|
|
+ $total['p_cost'] = getRound($total['reg_pay_num']??0, $total['cost']??0, 1);
|
|
|
|
|
|
$totalData = $this->agentTotal($where);
|
|
|
|
|
|
@@ -467,7 +467,7 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
public function generateYearUnionList($namePrefix, $regDate, $whereSql = '', $field = '*', $group = null)
|
|
|
{
|
|
|
|
|
|
- $tableNames = ToolLogic::getYearlyTableNames($namePrefix, $regDate[0], $regDate[1]);
|
|
|
+ $tableNames = getYearlyTableNames($namePrefix, $regDate[0], $regDate[1]);
|
|
|
$sqlParts = [];
|
|
|
foreach ($tableNames as $tableName) {
|
|
|
$sqlParts[] = "SELECT * FROM {$tableName} WHERE 1=1 {$whereSql}";
|
|
|
@@ -492,7 +492,7 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
public function computedHb7days($where, $type)
|
|
|
{
|
|
|
$payDataAll = [];
|
|
|
- $dateRange = ToolLogic::getDatesBetween($where['reg_date'][0], $where['reg_date'][1]);
|
|
|
+ $dateRange = getDatesBetween($where['reg_date'][0], $where['reg_date'][1]);
|
|
|
foreach ($dateRange as $regDate) {
|
|
|
|
|
|
$field = "
|
|
|
@@ -553,13 +553,13 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$regPayNum = $regPayData[0]['reg_pay_num'] ?? 0;
|
|
|
|
|
|
// roi
|
|
|
- $roi = ToolLogic::getPercent($regPayTotal, $cost, 1);
|
|
|
+ $roi = getPercent($regPayTotal, $cost, 1);
|
|
|
// 付费成本
|
|
|
- $pCost = ToolLogic::getRound($cost, $regPayNum);
|
|
|
+ $pCost = getRound($cost, $regPayNum);
|
|
|
// reg_cost 注册成本
|
|
|
- $regCost = ToolLogic::getRound($cost, $regTotal);
|
|
|
+ $regCost = getRound($cost, $regTotal);
|
|
|
// 付费率
|
|
|
- $pPer = ToolLogic::getPercent($regPayNum, $regTotal, 1);
|
|
|
+ $pPer = getPercent($regPayNum, $regTotal, 1);
|
|
|
|
|
|
// 返回数据
|
|
|
return [
|
|
|
@@ -649,20 +649,20 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
if ($igz && $row['cost'] === 0) {
|
|
|
unset($baseTotalDayData[$key]);
|
|
|
}
|
|
|
- $row['reg_cost'] = ToolLogic::getRound($row['cost'], $row['reg_total'] ?? 0); // 注册成本
|
|
|
- $row['role_per'] = ToolLogic::getRound($row['role_total'], $row['reg_total'] ?? 0); // 创角率
|
|
|
- $row['a_cost'] = ToolLogic::getRound($row['cost'], $row['active'], 1); // 次留成本
|
|
|
- $row['a_per'] = ToolLogic::getPercent($row['active'], $row['reg_total'], 1); // 次留率
|
|
|
+ $row['reg_cost'] = getRound($row['cost'], $row['reg_total'] ?? 0); // 注册成本
|
|
|
+ $row['role_per'] = getRound($row['role_total'], $row['reg_total'] ?? 0); // 创角率
|
|
|
+ $row['a_cost'] = getRound($row['cost'], $row['active'], 1); // 次留成本
|
|
|
+ $row['a_per'] = getPercent($row['active'], $row['reg_total'], 1); // 次留率
|
|
|
$row['reg_pay_total'] = $regPayData[$row['site_id']]['reg_pay_total'] ?? 0; // 总付费金额
|
|
|
$row['reg_pay_num'] = $regPayData[$row['site_id']]['reg_pay_num'] ?? 0; // 总付费人数
|
|
|
$row['reg_pay_amount'] = $regPayData[$row['site_id']]['reg_pay_amount'] ?? 0; // 注册总充值
|
|
|
- $row['p_cost'] = ToolLogic::getRound($row['cost'], $row['reg_pay_num']); // 付费成本
|
|
|
- $row['p_per'] = ToolLogic::getPercent($row['reg_pay_num'] ?? 0, $row['reg_total'], 1); // 付费率
|
|
|
- $row['da_per'] = ToolLogic::getPercent($row['reg_pay_total_da'] ?? 0, $row['cost'], 1); // 当天回本率
|
|
|
+ $row['p_cost'] = getRound($row['cost'], $row['reg_pay_num']); // 付费成本
|
|
|
+ $row['p_per'] = getPercent($row['reg_pay_num'] ?? 0, $row['reg_total'], 1); // 付费率
|
|
|
+ $row['da_per'] = getPercent($row['reg_pay_total_da'] ?? 0, $row['cost'], 1); // 当天回本率
|
|
|
$row['re_per'] = (float)trim(ToolLogic::getPercent($row['reg_pay_total'], $row['cost']), "%"); // 累计回本率
|
|
|
- $row['re_amount_per'] = ToolLogic::getPercent($row['reg_pay_amount'], $row['cost'], 1); // 实际回本率
|
|
|
- $row['arpu'] = ToolLogic::getRound($row['reg_pay_total'], $row['reg_pay_num']); // ARPU
|
|
|
- $row['r_arpu'] = ToolLogic::getRound($row['reg_pay_total'], $row['reg_total']); // 注册ARPU
|
|
|
+ $row['re_amount_per'] = getPercent($row['reg_pay_amount'], $row['cost'], 1); // 实际回本率
|
|
|
+ $row['arpu'] = getRound($row['reg_pay_total'], $row['reg_pay_num']); // ARPU
|
|
|
+ $row['r_arpu'] = getRound($row['reg_pay_total'], $row['reg_total']); // 注册ARPU
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -691,17 +691,17 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
|
|
|
}
|
|
|
|
|
|
- $total['reg_cost'] = ToolLogic::getRound($total['cost'] ?? 0, $total['reg_total'] ?? 0); // 注册成本
|
|
|
- $total['role_per'] = ToolLogic::getRound($total['role_total'] ?? 0, $total['reg_total'] ?? 0); // 创角率
|
|
|
- $total['a_per'] = ToolLogic::getPercent($total['active'] ?? 0, $total['reg_total'] ?? 0, 1); // 次留率
|
|
|
- $total['a_cost'] = ToolLogic::getRound($total['cost'] ?? 0, $total['active'] ?? 0, 1); // 次留成本
|
|
|
- $total['p_cost'] = ToolLogic::getRound($total['reg_pay_num'] ?? 0, $total['cost'] ?? 0, 1); // 付费成本
|
|
|
- $total['p_per'] = ToolLogic::getPercent($total['reg_pay_num'] ?? 0, $total['reg_total'] ?? 0, 1); // 付费率
|
|
|
- $total['da_per'] = ToolLogic::getPercent($total['reg_pay_total_da'] ?? 0, $total['cost'] ?? 0, 1); // 当天回本率
|
|
|
+ $total['reg_cost'] = getRound($total['cost'] ?? 0, $total['reg_total'] ?? 0); // 注册成本
|
|
|
+ $total['role_per'] = getRound($total['role_total'] ?? 0, $total['reg_total'] ?? 0); // 创角率
|
|
|
+ $total['a_per'] = getPercent($total['active'] ?? 0, $total['reg_total'] ?? 0, 1); // 次留率
|
|
|
+ $total['a_cost'] = getRound($total['cost'] ?? 0, $total['active'] ?? 0, 1); // 次留成本
|
|
|
+ $total['p_cost'] = getRound($total['reg_pay_num'] ?? 0, $total['cost'] ?? 0, 1); // 付费成本
|
|
|
+ $total['p_per'] = getPercent($total['reg_pay_num'] ?? 0, $total['reg_total'] ?? 0, 1); // 付费率
|
|
|
+ $total['da_per'] = getPercent($total['reg_pay_total_da'] ?? 0, $total['cost'] ?? 0, 1); // 当天回本率
|
|
|
$total['re_per'] = (float)trim(ToolLogic::getPercent($total['reg_pay_total'] ?? 0, $total['cost'] ?? 0), "%"); // 累计回本率
|
|
|
- $total['re_amount_per'] = ToolLogic::getPercent($total['reg_pay_amount'] ?? 0, $total['cost'] ?? 0, 1); // 实际回本率
|
|
|
- $total['arpu'] = ToolLogic::getRound($total['reg_pay_total'] ?? 0, $total['reg_pay_num'] ?? 0); // ARPU
|
|
|
- $total['r_arpu'] = ToolLogic::getRound($total['reg_pay_total'] ?? 0, $total['reg_total'] ?? 0); // 注册ARPU
|
|
|
+ $total['re_amount_per'] = getPercent($total['reg_pay_amount'] ?? 0, $total['cost'] ?? 0, 1); // 实际回本率
|
|
|
+ $total['arpu'] = getRound($total['reg_pay_total'] ?? 0, $total['reg_pay_num'] ?? 0); // ARPU
|
|
|
+ $total['r_arpu'] = getRound($total['reg_pay_total'] ?? 0, $total['reg_total'] ?? 0); // 注册ARPU
|
|
|
|
|
|
return ['data' => $baseTotalDayData, 'total' => $total];
|
|
|
}
|
|
|
@@ -777,21 +777,21 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
{
|
|
|
$row['active'] = $activeData[$row['tdate']] ?? 0; // 次留数
|
|
|
$row['cost'] = $costData[$row['tdate']] ?? 0; // 支出
|
|
|
- $row['reg_cost'] = ToolLogic::getRound($row['cost'], $row['reg_total'] ?? 0); // 注册成本
|
|
|
- $row['role_per'] = ToolLogic::getRound($row['role_total'], $row['reg_total'] ?? 0); // 创角率
|
|
|
- $row['a_cost'] = ToolLogic::getRound($row['cost'], $row['active'], 1); // 次留成本
|
|
|
- $row['a_per'] = ToolLogic::getPercent($row['active'], $row['reg_total'], 1); // 次留率
|
|
|
+ $row['reg_cost'] = getRound($row['cost'], $row['reg_total'] ?? 0); // 注册成本
|
|
|
+ $row['role_per'] = getRound($row['role_total'], $row['reg_total'] ?? 0); // 创角率
|
|
|
+ $row['a_cost'] = getRound($row['cost'], $row['active'], 1); // 次留成本
|
|
|
+ $row['a_per'] = getPercent($row['active'], $row['reg_total'], 1); // 次留率
|
|
|
$row['reg_pay_total'] = $regPayData[$row['tdate']]['reg_pay_total'] ?? 0; // 总付费金额
|
|
|
$row['reg_pay_num'] = $regPayData[$row['tdate']]['reg_pay_num'] ?? 0; // 总付费人数
|
|
|
$row['reg_pay_amount'] = $regPayData[$row['tdate']]['reg_pay_amount'] ?? 0; // 注册总充值
|
|
|
- $row['p_cost'] = ToolLogic::getRound($row['cost'], $row['reg_pay_num']); // 付费成本
|
|
|
- $row['p_per'] = ToolLogic::getPercent($row['reg_pay_num'] ?? 0, $row['reg_total'], 1); // 付费率
|
|
|
- $row['da_per'] = ToolLogic::getPercent($row['reg_pay_total_da'] ?? 0, $row['cost'], 1); // 当天回本率
|
|
|
+ $row['p_cost'] = getRound($row['cost'], $row['reg_pay_num']); // 付费成本
|
|
|
+ $row['p_per'] = getPercent($row['reg_pay_num'] ?? 0, $row['reg_total'], 1); // 付费率
|
|
|
+ $row['da_per'] = getPercent($row['reg_pay_total_da'] ?? 0, $row['cost'], 1); // 当天回本率
|
|
|
$row['re_per'] = (float)trim(ToolLogic::getPercent($row['reg_pay_total'], $row['cost']), "%"); // 累计回本率
|
|
|
- $row['re_amount_per'] = ToolLogic::getPercent($row['reg_pay_amount'], $row['cost'], 1); // 实际回本率
|
|
|
- $row['arpu'] = ToolLogic::getRound($row['reg_pay_total'], $row['reg_pay_num']); // ARPU
|
|
|
- $row['r_arpu'] = ToolLogic::getRound($row['reg_pay_total'], $row['reg_total']); // 注册ARPU
|
|
|
- $row['pay_cost'] = ToolLogic::getPercent($row['pay_amount'] ?? 0, $row['cost'] ?? 0); // 收支比
|
|
|
+ $row['re_amount_per'] = getPercent($row['reg_pay_amount'], $row['cost'], 1); // 实际回本率
|
|
|
+ $row['arpu'] = getRound($row['reg_pay_total'], $row['reg_pay_num']); // ARPU
|
|
|
+ $row['r_arpu'] = getRound($row['reg_pay_total'], $row['reg_total']); // 注册ARPU
|
|
|
+ $row['pay_cost'] = getPercent($row['pay_amount'] ?? 0, $row['cost'] ?? 0); // 收支比
|
|
|
}
|
|
|
|
|
|
// 6. 合计
|
|
|
@@ -816,18 +816,18 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$total['reg_pay_total_da'] = !empty($total['reg_pay_total_da']) ? ($total['reg_pay_total_da'] + $vv['reg_pay_total_da']) : $vv['reg_pay_total_da']; // 当天注册付费金额
|
|
|
}
|
|
|
|
|
|
- $total['reg_cost'] = ToolLogic::getRound($total['cost'] ?? 0, $total['reg_total'] ?? 0); // 注册成本
|
|
|
- $total['role_per'] = ToolLogic::getRound($total['role_total'] ?? 0, $total['reg_total'] ?? 0); // 创角率
|
|
|
- $total['a_per'] = ToolLogic::getPercent($total['active'] ?? 0, $total['reg_total'] ?? 0, 1); // 次留率
|
|
|
- $total['a_cost'] = ToolLogic::getRound($total['cost'] ?? 0, $total['active'] ?? 0, 1); // 次留成本
|
|
|
- $total['p_cost'] = ToolLogic::getRound($total['reg_pay_num'] ?? 0, $total['cost'] ?? 0, 1); // 付费成本
|
|
|
- $total['p_per'] = ToolLogic::getPercent($total['reg_pay_num'] ?? 0, $total['reg_total'] ?? 0, 1); // 付费率
|
|
|
- $total['da_per'] = ToolLogic::getPercent($total['reg_pay_total_da'] ?? 0, $total['cost'] ?? 0, 1); // 当天回本率
|
|
|
+ $total['reg_cost'] = getRound($total['cost'] ?? 0, $total['reg_total'] ?? 0); // 注册成本
|
|
|
+ $total['role_per'] = getRound($total['role_total'] ?? 0, $total['reg_total'] ?? 0); // 创角率
|
|
|
+ $total['a_per'] = getPercent($total['active'] ?? 0, $total['reg_total'] ?? 0, 1); // 次留率
|
|
|
+ $total['a_cost'] = getRound($total['cost'] ?? 0, $total['active'] ?? 0, 1); // 次留成本
|
|
|
+ $total['p_cost'] = getRound($total['reg_pay_num'] ?? 0, $total['cost'] ?? 0, 1); // 付费成本
|
|
|
+ $total['p_per'] = getPercent($total['reg_pay_num'] ?? 0, $total['reg_total'] ?? 0, 1); // 付费率
|
|
|
+ $total['da_per'] = getPercent($total['reg_pay_total_da'] ?? 0, $total['cost'] ?? 0, 1); // 当天回本率
|
|
|
$total['re_per'] = (float)trim(ToolLogic::getPercent($total['reg_pay_total'] ?? 0, $total['cost'] ?? 0), "%"); // 累计回本率
|
|
|
- $total['re_amount_per'] = ToolLogic::getPercent($total['reg_pay_amount'] ?? 0, $total['cost'] ?? 0, 1); // 实际回本率
|
|
|
- $total['arpu'] = ToolLogic::getRound($total['reg_pay_total'] ?? 0, $total['reg_pay_num'] ?? 0); // ARPU
|
|
|
- $total['r_arpu'] = ToolLogic::getRound($total['reg_pay_total'] ?? 0, $total['reg_total'] ?? 0); // 注册ARPU
|
|
|
- $total['pay_cost'] = ToolLogic::getPercent($total['pay_amount'] ?? 0, $total['cost'] ?? 0); //收支比
|
|
|
+ $total['re_amount_per'] = getPercent($total['reg_pay_amount'] ?? 0, $total['cost'] ?? 0, 1); // 实际回本率
|
|
|
+ $total['arpu'] = getRound($total['reg_pay_total'] ?? 0, $total['reg_pay_num'] ?? 0); // ARPU
|
|
|
+ $total['r_arpu'] = getRound($total['reg_pay_total'] ?? 0, $total['reg_total'] ?? 0); // 注册ARPU
|
|
|
+ $total['pay_cost'] = getPercent($total['pay_amount'] ?? 0, $total['cost'] ?? 0); //收支比
|
|
|
|
|
|
return ['data' => array_values($baseTotalDayData), 'totalRow' => $total];
|
|
|
}
|
|
|
@@ -883,7 +883,7 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$totalRow['d0']['cost'] = !empty($totalRow['cost']) ? ($totalRow['cost'] + $costData[$key] ?? 0) : $costData[$key] ?? 0;
|
|
|
$totalRow['reg_total'] = !empty($totalRow['reg_total']) ? ($totalRow['reg_total'] + $val['reg_total'] ?? 0) : $val['reg_total'] ?? 0;
|
|
|
$totalRow['d0']['reg_total'] = !empty($totalRow['reg_total']) ? ($totalRow['reg_total'] + $val['reg_total'] ?? 0) : $val['reg_total'] ?? 0;
|
|
|
- $totalRow['reg_cost'] = ToolLogic::getRound($totalRow['cost'] ?? 0, $totalRow['reg_total'] ?? 0);
|
|
|
+ $totalRow['reg_cost'] = getRound($totalRow['cost'] ?? 0, $totalRow['reg_total'] ?? 0);
|
|
|
|
|
|
$days = (strtotime($nowDate) - strtotime($key)) / 86400 + 1;
|
|
|
for ($i = 1; $i <= $days; $i++) {
|
|
|
@@ -902,7 +902,7 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$data[$regDate]['reg_total'] = $baseData[$regDate]['reg_total'] ?? 0;
|
|
|
|
|
|
// 注册成本
|
|
|
- $data[$regDate]['reg_cost'] = ToolLogic::getRound($costData[$regDate] ?? 0, $data[$regDate]['reg_total'] ?? 0);
|
|
|
+ $data[$regDate]['reg_cost'] = getRound($costData[$regDate] ?? 0, $data[$regDate]['reg_total'] ?? 0);
|
|
|
// 消耗金额
|
|
|
$data[$regDate]['cost'] = $costData[$regDate] ?? 0;
|
|
|
|
|
|
@@ -912,35 +912,35 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
|
|
|
switch ($dataType) {
|
|
|
case 'recovery':
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getPercent($row['addup_pay_total'], $costData[$regDate] ?? 0, 1);
|
|
|
+ $data[$regDate][$daykey] = getPercent($row['addup_pay_total'], $costData[$regDate] ?? 0, 1);
|
|
|
if ($nowDate === $row['pay_date']) {
|
|
|
- $data[$regDate]['d0'] = ToolLogic::getPercent($row['addup_pay_total'], $costData[$regDate] ?? 0, 1);
|
|
|
+ $data[$regDate]['d0'] = getPercent($row['addup_pay_total'], $costData[$regDate] ?? 0, 1);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
/* 扣除分成/cost , 计算 */
|
|
|
case 'remount':
|
|
|
// 按天回本率
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getPercent($row['addup_pay_amount'], $costData[$regDate] ?? 0, 1);
|
|
|
+ $data[$regDate][$daykey] = getPercent($row['addup_pay_amount'], $costData[$regDate] ?? 0, 1);
|
|
|
// 累计回本率
|
|
|
if ($nowDate === $row['pay_date']) {
|
|
|
- $data[$regDate]['d0'] = ToolLogic::getPercent($row['addup_pay_amount'], $costData[$regDate] ?? 0, 1);
|
|
|
+ $data[$regDate]['d0'] = getPercent($row['addup_pay_amount'], $costData[$regDate] ?? 0, 1);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
/* 累计计费付费金额 / 注册数 */
|
|
|
case 'ltv':
|
|
|
// 按天LTV
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
+ $data[$regDate][$daykey] = getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
// 累计LTV
|
|
|
if ($nowDate === $row['pay_date']) {
|
|
|
- $data[$regDate]['d0'] = ToolLogic::getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
+ $data[$regDate]['d0'] = getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
/* 后面的LTV数据, 按天LTV / 第一天LTV , 目的是为了计算LTV增长率*/
|
|
|
case 'ltvbs':
|
|
|
- $totalLtv[$daykey] = ToolLogic::getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
+ $totalLtv[$daykey] = getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
$fz = $totalLtv['d1'] ?? 0 != 0 ? $totalLtv['d1'] : 1;
|
|
|
$data[$regDate][$daykey] = round($totalLtv[$daykey] / $fz, 2);
|
|
|
break;
|
|
|
@@ -964,17 +964,17 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
|
|
|
/* 付费率 */
|
|
|
case 'pay_rate':
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getPercent($row['pay_num'], $baseData[$regDate]['reg_total']);
|
|
|
+ $data[$regDate][$daykey] = getPercent($row['pay_num'], $baseData[$regDate]['reg_total']);
|
|
|
if ($nowDate === $row['pay_date']) {
|
|
|
- $data[$regDate]['d0'] = ToolLogic::getPercent($row['addup_pay_num'], $baseData[$regDate]['reg_total']);
|
|
|
+ $data[$regDate]['d0'] = getPercent($row['addup_pay_num'], $baseData[$regDate]['reg_total']);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
/* 付费ARPU */
|
|
|
case 'arpu':
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getRound($row['pay_total'], $row['pay_num']);
|
|
|
+ $data[$regDate][$daykey] = getRound($row['pay_total'], $row['pay_num']);
|
|
|
if ($nowDate === $row['pay_date']) {
|
|
|
- $data[$regDate]['d0'] = ToolLogic::getRound($row['addup_pay_total'], $row['addup_pay_num']);
|
|
|
+ $data[$regDate]['d0'] = getRound($row['addup_pay_total'], $row['addup_pay_num']);
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
@@ -1002,16 +1002,16 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
if ($key[0] === 'd') {
|
|
|
switch ($dataType) {
|
|
|
case 'recovery':
|
|
|
- $totalRow[$key] = ToolLogic::getPercent($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['cost'] ?? 0, 1);
|
|
|
+ $totalRow[$key] = getPercent($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['cost'] ?? 0, 1);
|
|
|
break;
|
|
|
case 'remount':
|
|
|
- $totalRow[$key] = ToolLogic::getPercent($totalRow[$key]['addup_pay_amount'] ?? 0, $totalRow[$key]['cost'] ?? 0, 1);
|
|
|
+ $totalRow[$key] = getPercent($totalRow[$key]['addup_pay_amount'] ?? 0, $totalRow[$key]['cost'] ?? 0, 1);
|
|
|
break;
|
|
|
case 'ltv':
|
|
|
- $totalRow[$key] = ToolLogic::getRound($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
+ $totalRow[$key] = getRound($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
break;
|
|
|
case 'ltvbs':
|
|
|
- $totalLtv[$key] = ToolLogic::getRound($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
+ $totalLtv[$key] = getRound($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
$fz = $totalLtv['d1'] ?? 0 != 0 ? $totalLtv['d1'] : 1;
|
|
|
$totalRow[$key] = round($totalLtv[$key] / $fz, 2);
|
|
|
|
|
|
@@ -1023,10 +1023,10 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$totalRow[$key] = $totalRow[$key]['pay_total'] ?? 0;
|
|
|
break;
|
|
|
case 'pay_rate':
|
|
|
- $totalRow[$key] = ToolLogic::getPercent($totalRow[$key]['pay_num'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
+ $totalRow[$key] = getPercent($totalRow[$key]['pay_num'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
break;
|
|
|
case 'arpu':
|
|
|
- $totalRow[$key] = ToolLogic::getRound($totalRow[$key]['pay_total'] ?? 0, $totalRow[$key]['pay_num'] ?? 0);
|
|
|
+ $totalRow[$key] = getRound($totalRow[$key]['pay_total'] ?? 0, $totalRow[$key]['pay_num'] ?? 0);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -1035,16 +1035,16 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
if ($data && $totalRow) {
|
|
|
switch ($dataType) {
|
|
|
case 'recovery':
|
|
|
- $totalRow['d0'] = ToolLogic::getPercent($pay_total, $totalRow['cost'], 1);
|
|
|
+ $totalRow['d0'] = getPercent($pay_total, $totalRow['cost'], 1);
|
|
|
break;
|
|
|
case 'remount':
|
|
|
- $totalRow['d0'] = ToolLogic::getPercent($pay_amount, $totalRow['cost'], 1);
|
|
|
+ $totalRow['d0'] = getPercent($pay_amount, $totalRow['cost'], 1);
|
|
|
break;
|
|
|
case 'ltv':
|
|
|
- $totalRow['d0'] = ToolLogic::getRound($pay_total, $totalRow['reg_total']);
|
|
|
+ $totalRow['d0'] = getRound($pay_total, $totalRow['reg_total']);
|
|
|
break;
|
|
|
case 'ltvbs':
|
|
|
- $totalLtv['d0'] = ToolLogic::getRound($pay_total, $totalRow['reg_total']);
|
|
|
+ $totalLtv['d0'] = getRound($pay_total, $totalRow['reg_total']);
|
|
|
$fz = $totalLtv['d1'] ?? 0 != 0 ? $totalLtv['d1'] : 1;
|
|
|
$totalRow['d0'] = round($totalLtv['d0'] / $fz, 2);
|
|
|
break;
|
|
|
@@ -1055,16 +1055,16 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$totalRow['d0'] = $pay_total;
|
|
|
break;
|
|
|
case 'pay_rate':
|
|
|
- $totalRow['d0'] = ToolLogic::getPercent($pay_num, $totalRow['reg_total']);
|
|
|
+ $totalRow['d0'] = getPercent($pay_num, $totalRow['reg_total']);
|
|
|
break;
|
|
|
case 'arpu':
|
|
|
- $totalRow['d0'] = ToolLogic::getRound($pay_total, $pay_num);
|
|
|
+ $totalRow['d0'] = getRound($pay_total, $pay_num);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
- $totalRow['reg_cost'] = ToolLogic::getRound($totalRow['cost'], $totalRow['reg_total']);
|
|
|
- $list = ToolLogic::arrSort($data, 'tdate', 'asc');
|
|
|
+ $totalRow['reg_cost'] = getRound($totalRow['cost'], $totalRow['reg_total']);
|
|
|
+ $list = arrSort($data, 'tdate', 'asc');
|
|
|
}
|
|
|
return [
|
|
|
'data' => array_values($list),
|
|
|
@@ -1120,9 +1120,9 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
foreach ($baseData as $key => $val) {
|
|
|
$totalRow['cost'] = !empty($totalRow['cost']) ? round($totalRow['cost'] + $val['cost'] ?? 0, 2) : $val['cost'] ?? 0;
|
|
|
$totalRow['reg_total'] = !empty($totalRow['reg_total']) ? ($totalRow['reg_total'] + $val['reg_total'] ?? 0) : $val['reg_total'] ?? 0;
|
|
|
- $totalRow['reg_cost'] = ToolLogic::getRound($totalRow['cost'] ?? 0, $totalRow['reg_total'] ?? 0);
|
|
|
+ $totalRow['reg_cost'] = getRound($totalRow['cost'] ?? 0, $totalRow['reg_total'] ?? 0);
|
|
|
|
|
|
- $days = ToolLogic::getMonthNum($key, $nowDate);
|
|
|
+ $days = getMonthNum($key, $nowDate);
|
|
|
for ($i = 1; $i <= $days; $i++) {
|
|
|
$daykey = 'm' . ($i + 1);
|
|
|
$totalRow[$daykey]['reg_total'] = !empty($totalRow[$daykey]['reg_total']) ? ($totalRow[$daykey]['reg_total'] + $val['reg_total'] ?? 0) : $val['reg_total'] ?? 0;
|
|
|
@@ -1140,7 +1140,7 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$data[$regDate]['reg_total'] = $baseData[$regDate]['reg_total'] ?? 0;
|
|
|
|
|
|
// 注册成本
|
|
|
- $data[$regDate]['reg_cost'] = ToolLogic::getRound($baseData[$regDate]['cost'] ?? 0, $data[$regDate]['reg_total'] ?? 0);
|
|
|
+ $data[$regDate]['reg_cost'] = getRound($baseData[$regDate]['cost'] ?? 0, $data[$regDate]['reg_total'] ?? 0);
|
|
|
// 消耗金额
|
|
|
$data[$regDate]['cost'] = $baseData[$regDate]['cost'] ?? 0;
|
|
|
|
|
|
@@ -1149,29 +1149,29 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
|
|
|
switch ($dataType) {
|
|
|
case 'recovery':
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getPercent($row['addup_pay_total'], $baseData[$regDate]['cost'] ?? 0, 1);
|
|
|
+ $data[$regDate][$daykey] = getPercent($row['addup_pay_total'], $baseData[$regDate]['cost'] ?? 0, 1);
|
|
|
if ($nowDate === $row['pay_month']) {
|
|
|
- $data[$regDate]['m0'] = ToolLogic::getPercent($row['addup_pay_total'], $baseData[$regDate]['cost'] ?? 0, 1);
|
|
|
+ $data[$regDate]['m0'] = getPercent($row['addup_pay_total'], $baseData[$regDate]['cost'] ?? 0, 1);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
/* 扣除分成/cost , 计算 */
|
|
|
case 'remount':
|
|
|
// 按天回本率
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getPercent($row['addup_pay_amount'], $baseData[$regDate]['cost'] ?? 0, 1);
|
|
|
+ $data[$regDate][$daykey] = getPercent($row['addup_pay_amount'], $baseData[$regDate]['cost'] ?? 0, 1);
|
|
|
// 累计回本率
|
|
|
if ($nowDate === $row['pay_month']) {
|
|
|
- $data[$regDate]['m0'] = ToolLogic::getPercent($row['addup_pay_amount'], $baseData[$regDate]['cost'] ?? 0, 1);
|
|
|
+ $data[$regDate]['m0'] = getPercent($row['addup_pay_amount'], $baseData[$regDate]['cost'] ?? 0, 1);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
/* 累计计费付费金额 / 注册数 */
|
|
|
case 'ltv':
|
|
|
// 按天LTV
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
+ $data[$regDate][$daykey] = getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
// 累计LTV
|
|
|
if ($nowDate === $row['pay_month']) {
|
|
|
- $data[$regDate]['m0'] = ToolLogic::getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
+ $data[$regDate]['m0'] = getRound($row['addup_pay_total'], $baseData[$regDate]['reg_total'] ?? 0, 1);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
@@ -1194,17 +1194,17 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
|
|
|
/* 付费率 */
|
|
|
case 'pay_rate':
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getPercent($row['pay_num'], $baseData[$regDate]['reg_total']);
|
|
|
+ $data[$regDate][$daykey] = getPercent($row['pay_num'], $baseData[$regDate]['reg_total']);
|
|
|
if ($nowDate === $row['pay_month']) {
|
|
|
- $data[$regDate]['m0'] = ToolLogic::getPercent($row['addup_pay_num'], $baseData[$regDate]['reg_total']);
|
|
|
+ $data[$regDate]['m0'] = getPercent($row['addup_pay_num'], $baseData[$regDate]['reg_total']);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
/* 付费ARPU */
|
|
|
case 'arpu':
|
|
|
- $data[$regDate][$daykey] = ToolLogic::getRound($row['pay_total'], $row['pay_num']);
|
|
|
+ $data[$regDate][$daykey] = getRound($row['pay_total'], $row['pay_num']);
|
|
|
if ($nowDate === $row['pay_month']) {
|
|
|
- $data[$regDate]['m0'] = ToolLogic::getRound($row['addup_pay_total'], $row['addup_pay_num']);
|
|
|
+ $data[$regDate]['m0'] = getRound($row['addup_pay_total'], $row['addup_pay_num']);
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
@@ -1234,13 +1234,13 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
if ($key[0] === 'm') {
|
|
|
switch ($dataType) {
|
|
|
case 'recovery':
|
|
|
- $totalRow[$key] = ToolLogic::getPercent($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['cost'] ?? 0, 1);
|
|
|
+ $totalRow[$key] = getPercent($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['cost'] ?? 0, 1);
|
|
|
break;
|
|
|
case 'remount':
|
|
|
- $totalRow[$key] = ToolLogic::getPercent($totalRow[$key]['addup_pay_amount'] ?? 0, $totalRow[$key]['cost'] ?? 0, 1);
|
|
|
+ $totalRow[$key] = getPercent($totalRow[$key]['addup_pay_amount'] ?? 0, $totalRow[$key]['cost'] ?? 0, 1);
|
|
|
break;
|
|
|
case 'ltv':
|
|
|
- $totalRow[$key] = ToolLogic::getRound($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
+ $totalRow[$key] = getRound($totalRow[$key]['addup_pay_total'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
break;
|
|
|
case 'pay_num':
|
|
|
$totalRow[$key] = $totalRow[$key]['pay_num'] ?? 0;
|
|
|
@@ -1249,10 +1249,10 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$totalRow[$key] = $totalRow[$key]['pay_total'] ?? 0;
|
|
|
break;
|
|
|
case 'pay_rate':
|
|
|
- $totalRow[$key] = ToolLogic::getPercent($totalRow[$key]['pay_num'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
+ $totalRow[$key] = getPercent($totalRow[$key]['pay_num'] ?? 0, $totalRow[$key]['reg_total'] ?? 0);
|
|
|
break;
|
|
|
case 'arpu':
|
|
|
- $totalRow[$key] = ToolLogic::getRound($totalRow[$key]['pay_total'] ?? 0, $totalRow[$key]['pay_num'] ?? 0);
|
|
|
+ $totalRow[$key] = getRound($totalRow[$key]['pay_total'] ?? 0, $totalRow[$key]['pay_num'] ?? 0);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -1261,13 +1261,13 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
if ($data && $totalRow) {
|
|
|
switch ($dataType) {
|
|
|
case 'recovery':
|
|
|
- $totalRow['m0'] = ToolLogic::getPercent($pay_total, $totalRow['cost'], 1);
|
|
|
+ $totalRow['m0'] = getPercent($pay_total, $totalRow['cost'], 1);
|
|
|
break;
|
|
|
case 'remount':
|
|
|
- $totalRow['m0'] = ToolLogic::getPercent($pay_amount, $totalRow['cost'], 1);
|
|
|
+ $totalRow['m0'] = getPercent($pay_amount, $totalRow['cost'], 1);
|
|
|
break;
|
|
|
case 'ltv':
|
|
|
- $totalRow['m0'] = ToolLogic::getRound($pay_total, $totalRow['reg_total']);
|
|
|
+ $totalRow['m0'] = getRound($pay_total, $totalRow['reg_total']);
|
|
|
break;
|
|
|
|
|
|
case 'pay_num':
|
|
|
@@ -1277,16 +1277,16 @@ class ChannelAnalysisLogic extends BaseLogic
|
|
|
$totalRow['m0'] = $pay_total;
|
|
|
break;
|
|
|
case 'pay_rate':
|
|
|
- $totalRow['m0'] = ToolLogic::getPercent($pay_num, $totalRow['reg_total']);
|
|
|
+ $totalRow['m0'] = getPercent($pay_num, $totalRow['reg_total']);
|
|
|
break;
|
|
|
case 'arpu':
|
|
|
- $totalRow['m0'] = ToolLogic::getRound($pay_total, $pay_num);
|
|
|
+ $totalRow['m0'] = getRound($pay_total, $pay_num);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
- $totalRow['reg_cost'] = ToolLogic::getRound($totalRow['cost'], $totalRow['reg_total']);
|
|
|
- $list = ToolLogic::arrSort($data, 'tmonth', 'asc');
|
|
|
+ $totalRow['reg_cost'] = getRound($totalRow['cost'], $totalRow['reg_total']);
|
|
|
+ $list = arrSort($data, 'tmonth', 'asc');
|
|
|
}
|
|
|
return [
|
|
|
'data' => array_values($list),
|