Merge branch 'hotfix/ltv' into dev

master
yulingwei 5 years ago
commit 70d6919d18

@ -3116,9 +3116,15 @@ class ExportController extends Controller
$end_time = $end = strtotime($end) + 86400;
$map = " 1=1 ";
$game_map = "";
if (isset($_REQUEST['game_name'])) {
$game_ids = implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id'));
$map .= " AND game_id in (" . implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')) . ")";
$game_map = " AND EXISTS (SELECT upi.user_id FROM tab_user_play_info as upi where upi.game_id in ({$game_ids}) AND upi.user_id = u.id ";
if (isset($_REQUEST['server_name'])) $game_map .= " AND upi.server_name = {$_REQUEST['server_name']} ";
$game_map .= ") ";
}
if (isset($_REQUEST['server_name'])) {
$map .= " AND server_name = '{$_REQUEST['server_name']}' ";
}
@ -3133,10 +3139,11 @@ class ExportController extends Controller
tab_user u
WHERE
u.register_time BETWEEN {$start_time}
AND {$end_time}
AND {$end_time} {$game_map}
GROUP BY reg_date
ORDER BY reg_date asc
");
$result = [];
foreach ($users as $index => $item) {
$ltv_start = strtotime($item['reg_date']);
@ -3152,7 +3159,7 @@ class ExportController extends Controller
ROUND(SUM(if (pay_time BETWEEN {$ltv_start} and ".($ltv_start+86400 * 7).", pay_amount, 0))/{$item['total_count']}, 2) as ltv_7,
ROUND(SUM(if (pay_time BETWEEN {$ltv_start} and ".($ltv_start+86400 * 14).", pay_amount, 0))/{$item['total_count']}, 2) as ltv_14,
ROUND(SUM(if (pay_time BETWEEN {$ltv_start} and ".($ltv_start+86400 * 30).", pay_amount, 0))/{$item['total_count']}, 2) as ltv_30,
SUM(pay_amount) as total_amt
SUM(if (pay_time BETWEEN {$start_time} and ".($end_time).", pay_amount, 0)) as total_amt
FROM
tab_spend
WHERE

@ -1002,12 +1002,17 @@ if ($payids) {
$end_time = $end_time > $end ? $end : $end_time;
$map = " 1=1 ";
$game_map = "";
if (isset($_REQUEST['game_name'])) {
$map .= " AND game_id in (" . implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')) . ")";
$game_ids = implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id'));
$map .= " AND game_id in ({$game_ids})";
$game_map = " AND EXISTS (SELECT upi.user_id FROM tab_user_play_info as upi where upi.game_id in ({$game_ids}) AND upi.user_id = u.id ";
if (isset($_REQUEST['server_name'])) $game_map .= " AND upi.server_name = {$_REQUEST['server_name']} ";
$game_map .= ") ";
}
if (isset($_REQUEST['server_name'])) {
$map .= " AND server_name = '{$_REQUEST['server_name']}' ";
}
}
// 获取包含的用户id
$users = M()->query("
SELECT
@ -1018,7 +1023,7 @@ if ($payids) {
tab_user u
WHERE
u.register_time BETWEEN {$start_time}
AND {$end_time}
AND {$end_time} {$game_map}
GROUP BY reg_date
ORDER BY reg_date asc
");
@ -1037,7 +1042,7 @@ if ($payids) {
ROUND(SUM(if (pay_time BETWEEN {$ltv_start} and ".($ltv_start+86400 * 7).", pay_amount, 0))/{$item['total_count']}, 2) as ltv_7,
ROUND(SUM(if (pay_time BETWEEN {$ltv_start} and ".($ltv_start+86400 * 14).", pay_amount, 0))/{$item['total_count']}, 2) as ltv_14,
ROUND(SUM(if (pay_time BETWEEN {$ltv_start} and ".($ltv_start+86400 * 30).", pay_amount, 0))/{$item['total_count']}, 2) as ltv_30,
SUM(pay_amount) as total_amt
SUM(if (pay_time BETWEEN {$ltv_start} and ".($ltv_start+86400 * 30).", pay_amount, 0)) as total_amt
FROM
tab_spend
WHERE

@ -2,6 +2,8 @@
<block name="css">
</block>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<div class="cf main-place top_nav_list navtab_list">
@ -98,7 +100,10 @@
<a class="sch-btn" href="{:U('Export/ltv',array(
'start'=>I('start',date('Y-m-d',strtotime('-30 day'))),
'end'=>I('end',date('Y-m-d',strtotime('-1 day'))),
'xlsname'=>'统计_ltv统计'
'game_name'=>I('game_name'),
'game_type'=>I('game_type'),
'server_name'=>I('server_name'),
'xlsname'=>'统计_ltv统计'
),false)}">导出</a>
{$_page|default=''}
</div>

Loading…
Cancel
Save