From 523ce21ab9de9aaf79a7870e404d0a4682905a85 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 19 十一月 2024 14:36:19 +0800
Subject: [PATCH] 10284 【后台】 优化导出报表逻辑;
---
serverrep/report.php | 37 ++++++++++++++++++++++++++++---------
serverrep/ImportAccountLoginpay.php | 2 +-
2 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/serverrep/ImportAccountLoginpay.php b/serverrep/ImportAccountLoginpay.php
index 4cac79e..bb66dde 100644
--- a/serverrep/ImportAccountLoginpay.php
+++ b/serverrep/ImportAccountLoginpay.php
@@ -26,7 +26,7 @@
$DailyReportOK = \DBOper\Remove("DailyReport", array("Channel" => $Channel));
$AccountFirstLoginReportOK = \DBOper\Remove("AccountFirstLoginReport", array("Channel" => $Channel));
$AccountFirstPayReportOK = \DBOper\Remove("AccountFirstPayReport", array("Channel" => $Channel));
- $eventYMDOK = \DBOper\Remove("ServerEvent", array("Key" => "AccountFirstKeepReportYMD"));
+ $eventYMDOK = \DBOper\Remove("ServerEvent", array("Key" => "FirstKeepReportYMD_" . $Channel));
logweb("AccountFirstLoginOK:" . $AccountFirstLoginOK);
logweb("AccountFirstPayOK:" . $AccountFirstPayOK);
logweb("AccountDayActiveOK:" . $AccountDayActiveOK);
diff --git a/serverrep/report.php b/serverrep/report.php
index a4c4b3b..2387b33 100644
--- a/serverrep/report.php
+++ b/serverrep/report.php
@@ -31,20 +31,20 @@
}
$StartYMDTime = 0; // 闇�瑕佸鍑虹殑璧峰鏃ユ湡鏃堕棿鎴�
if (isset($retInfo)) {
- // \Logging\LogInfo("DailyReport retInfo:" . print_r($retInfo, true));
- $lastActiveYMD = $retInfo["YMD"]; // 鏈�鍚庝竴娆″鍑虹殑鎶ヨ〃鏃ユ湡
- $StartYMDTime = strtotime("+1 day", strtotime($lastActiveYMD)); // 浠�+1澶╁紑濮嬪鍑�
+ $lastYMD = $retInfo["YMD"]; // 鏈�鍚庝竴娆″鍑虹殑鎶ヨ〃鏃ユ湡
+ $StartYMDTime = strtotime("+1 day", strtotime($lastYMD)); // 浠�+1澶╁紑濮嬪鍑�
+ \Logging\LogInfo("ExportDailyReport Channel:" . $Channel . " lastYMD:" . $lastYMD . " StartYMDTime:" . date("Y-m-d", $StartYMDTime));
} else {
// 鍙栧嚭鏈�鏃╃殑棣栫櫥鏃ユ湡
if (!\DBOper\FindOneSort("AccountFirstLogin", array("Channel" => $Channel), $retInfo, array("CreateYMD" => 1), array("CreateYMD" => 1))) {
return;
}
if (!isset($retInfo)) {
- // \Logging\LogInfo("AccountFirstLogin 杩樻病鏈夋暟鎹紝涓嶇敤瀵煎嚭! Channel:" . $Channel);
+ \Logging\LogInfo("ExportDailyReport AccountFirstLogin 杩樻病鏈夋暟鎹紝涓嶇敤瀵煎嚭! Channel:" . $Channel);
return;
}
- // \Logging\LogInfo("AccountFirstLogin retInfo:" . print_r($retInfo, true));
$StartYMDTime = strtotime($retInfo["CreateYMD"]);
+ \Logging\LogInfo("ExportDailyReport Channel:" . $Channel . " AccountFirstLogin StartYMDTime:" . date("Y-m-d", $StartYMDTime));
}
if (!$StartYMDTime) {
return;
@@ -52,7 +52,7 @@
$EndYMDTime = strtotime("-1 day", strtotime(date("Y-m-d"))); // 鍙鍑哄埌鏄ㄥぉ
$diffSeconds = $EndYMDTime - $StartYMDTime;
- $diffDays = floor($diffSeconds / (3600 * 24));
+ $diffDays = floor($diffSeconds / (3600 * 24)) + 1;
if ($diffDays <= 0) {
\Logging\LogInfo("銆� " . $Channel . " 銆戜笉闇�瑕佸鍑烘瘡鏃ユ姤琛�! StartYMDTime:" . date("Y-m-d", $StartYMDTime));
return;
@@ -153,7 +153,8 @@
/**妫�鏌ュ苟瀵煎嚭棣栫櫥/棣栧厖鐣欏瓨姣忔棩鎶ヨ〃 */
function CheckAndExportFirstKeepReport($Channel)
{
- if (!\DBOper\FindOne("ServerEvent", array("Key" => "AccountFirstKeepReportYMD"), $ret, null, false)) {
+ $eventKey = "FirstKeepReportYMD_" . $Channel;
+ if (!\DBOper\FindOne("ServerEvent", array("Key" => $eventKey), $ret, null, false)) {
return;
}
$reportYMD = $ret["Value"] ? $ret["Value"] : ""; // 鏈�鍚庝竴娆℃垚鍔熷鍑烘姤琛ㄦ棩鏈�
@@ -161,15 +162,18 @@
$StartYMDTime = 0; // 闇�瑕佸鍑虹殑璧峰鏃ユ湡鏃堕棿鎴�
if ($reportYMD) {
$StartYMDTime = strtotime("+1 day", strtotime($reportYMD)); // 浠�+1澶╁紑濮嬪鍑�
+ \Logging\LogInfo("ExportFirstKeepReport Channel:" . $Channel . " reportYMD:" . $reportYMD . " StartYMDTime:" . date("Y-m-d", $StartYMDTime));
} else {
// 鍙栧嚭鏈�鏃╃殑棣栫櫥鏃ユ湡
if (!\DBOper\FindOneSort("AccountFirstLogin", array("Channel" => $Channel), $retInfo, array("CreateYMD" => 1), array("CreateYMD" => 1))) {
return;
}
if (!isset($retInfo)) {
+ \Logging\LogInfo("ExportFirstKeepReport AccountFirstLogin 杩樻病鏈夋暟鎹紝涓嶇敤瀵煎嚭! Channel:" . $Channel);
return;
}
$StartYMDTime = strtotime($retInfo["CreateYMD"]);
+ \Logging\LogInfo("ExportFirstKeepReport Channel:" . $Channel . " AccountFirstLogin StartYMDTime:" . date("Y-m-d", $StartYMDTime));
}
if (!$StartYMDTime) {
return;
@@ -178,7 +182,7 @@
$StartYMD = date("Y-m-d", $StartYMDTime);
$EndYMDTime = strtotime("-1 day", strtotime(date("Y-m-d"))); // 鍙鍑哄埌鏄ㄥぉ
$diffSeconds = $EndYMDTime - $StartYMDTime;
- $diffDays = floor($diffSeconds / (3600 * 24));
+ $diffDays = floor($diffSeconds / (3600 * 24)) + 1;
if ($diffDays <= 0) {
\Logging\LogInfo("銆� " . $Channel . " 銆戜笉闇�瑕佸鍑洪鐧绘瘡鏃ユ姤琛�! StartYMD:" . $StartYMD);
return;
@@ -248,7 +252,7 @@
}
// 鍏ㄩ儴澶勭悊瀹屾瘯鎵嶆洿鏂�
- \DBOper\Update("ServerEvent", array("Key" => "AccountFirstKeepReportYMD"), array("Value" => $EndYMD), false, true);
+ \DBOper\Update("ServerEvent", array("Key" => $eventKey), array("Value" => $EndYMD), false, true);
\Logging\LogInfo("==============================================");
}
@@ -783,3 +787,18 @@
ksort($fistPayReportArray);
return;
}
+
+// function test()
+// {
+// echo "run test" . "<br/>";
+// \Logging\CreateLogging("test.report.php");
+// $AllChannel = \CommFunc\GetAllChannel();
+// for ($i = 0; $i < count($AllChannel); $i++) {
+// $Channel = $AllChannel[$i];
+// echo "run Channel" . $Channel . "<br/>";
+// CheckAndExportDailyReport($Channel);
+// CheckAndExportFirstKeepReport($Channel);
+// }
+// echo "run test end" . "<br/>";
+// }
+// test();
\ No newline at end of file
--
Gitblit v1.8.0