HavePermission($Permission)) { exit; } $perdayltv = $_POST["perdayltv"]; $startDate = array_key_exists("startDate", $_POST) ? $_POST["startDate"] : date("Y-m-d", strtotime("-7 days")); $endDate = array_key_exists("endDate", $_POST) ? $_POST["endDate"] : date("Y-m-d"); $dayList = json_decode($_POST["dayList"], true); $dayTotalList = json_decode($_POST["dayTotalList"], true); if (!isset($dayList)) { $dayList = array(1, 2, 3, 4, 5, 6, 7); } if (!isset($dayTotalList)) { $dayTotalList = array(7, 14, 15, 21, 30); } if (!in_array(1, $dayList)) { array_push($dayList, 1); } $maxDay = max(max($dayList), max($dayTotalList)); sort($dayList); sort($dayTotalList); \Logging\LogInfo("dayList: " . print_r($dayList, true)); \Logging\LogInfo("dayTotalList: " . print_r($dayTotalList, true)); \Logging\LogInfo("maxDay:" . $maxDay); \Report\GetAccountFirstLoginPayReport($channel, $startDate, $endDate, $fistLoginReportArray, $fistPayReportArray); // \Logging\LogInfo("dayTotalList: " . print_r($fistLoginReportArray, true)); \DBOper\Find("Versionlog", array( "Channel" => $channel, "UpdTime" => array('$gte' => $startDate . " 00:00:00", '$lte' => $endDate . " 23:59:59") ), $versions, null, array("UpdTime" => -1)); ?> <?php echo \Lang\gettext("全服LTV"); ?>

: ~ " />

LTV天当日: />单独统计每日ltv

LTV天汇总:


【LTV】"; echo ""; echo ""; echo ""; foreach ($dayList as $day) { $title = "第" . $day . "日LTV"; echo ""; } foreach ($dayTotalList as $day) { $title = $day . "日总LTV"; echo ""; } echo ""; echo ""; echo ""; $curYMD = date("Y-m-d"); $curDate = new DateTime(); foreach ($fistLoginReportArray as $firstYMD => $statYMDInfo) { echo ""; echo ""; $firstYMDTime = strtotime($firstYMD); $firstCount = 0; // 当日ltv $dayLTV = 0; foreach ($dayList as $day) { $statYMD = date("Y-m-d", strtotime("+" . ($day - 1) . " days", $firstYMDTime)); $statInfo = $statYMDInfo[$statYMD] ? $statYMDInfo[$statYMD] : array(); if ($day == 1) { $firstCount = $statInfo["keepCount"] ? $statInfo["keepCount"] : 0; echo ""; } $payTotal = $statInfo["payTotal"] ? $statInfo["payTotal"] : 0; if ($perdayltv) { $dayLTV = $payTotal; } else { $dayLTV += $payTotal; } if ($dayLTV == 0 || $firstCount == 0 || $statYMD > $curYMD) { $text = ""; } else { $ltv = $dayLTV / $firstCount; $ltv = $ltv > 0.001 ? round($ltv, 3) : round($ltv, 5); // $text = $ltv . "(" . $dayLTV . ")"; $text = $ltv; } echo ""; } // 统计累计天ltv $paySumArray = array(); $interval = $curDate->diff(new DateTime($firstYMD)); $ltvDays = $interval->days + 1; // ltv总天数 - 创角 ~ 今日 $paySum = 0; // 总充值 for ($i = 0; $i < $ltvDays; $i++) { $statYMD = date("Y-m-d", strtotime("+" . $i . " days", $firstYMDTime)); $statInfo = $statYMDInfo[$statYMD] ? $statYMDInfo[$statYMD] : array(); $payTotal = $statInfo["payTotal"] ? $statInfo["payTotal"] : 0; $paySum += $payTotal; $paySumArray[$i + 1] = $paySum; } // \Logging\LogInfo("firstYMD:" . $firstYMD . " ltvDays:" . $ltvDays); // \Logging\LogInfo("paySumArray: " . print_r($paySumArray, true)); // 汇总ltv foreach ($dayTotalList as $days) { $daysPaySum = $paySumArray[$days] ? $paySumArray[$days] : 0; if ($daysPaySum == 0 || $firstCount == 0) { $text = ""; } else { $ltv = round($daysPaySum / $firstCount, 3); $text = $ltv; } echo ""; } // 总LTV(天) $ltvTotal = $firstCount == 0 ? 0 : round($paySum / $firstCount, 3); echo ""; // 总充值 echo ""; echo ""; } if (count($fistLoginReportArray) == 0) { echo ""; } ?>
首登日期首登人数" . $title . "" . $title . "总LTV(天)总充值
" . $firstYMD . "" . $firstCount . "" . $text . "" . $text . "" . $ltvTotal . "(" . $ltvDays . ")" . $paySum . "
无数据

" . $retShort . "" $detalHtml = ""; echo "版本记录

"; echo $detalHtml; } else { echo "没有版本更新日志"; } ?>