From f5fc440ae47bc8ff6e4b80ce1dd8905db3da189c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 12 十二月 2024 14:54:15 +0800
Subject: [PATCH] 10162 后台优化(等级分布、在线人数子服查询默认否;在线人数支持勾选查询单服历史;)

---
 Common/CommFunc.php                      |    2 +-
 Server/eventdata/OnlinePlayer.py         |    9 +++++++--
 SuperGMToolClient/QueryEventDataSend.php |    2 +-
 serverinfo/online.php                    |   18 +++++++++++++++++-
 Common/GMCmdProcess.php                  |    2 +-
 serverinfo/playerlv.php                  |    2 +-
 6 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/Common/CommFunc.php b/Common/CommFunc.php
index 8085914..e2fac9b 100644
--- a/Common/CommFunc.php
+++ b/Common/CommFunc.php
@@ -641,7 +641,7 @@
 			}
 			unset($pack_data[$postServerName]);
 
-			if ($serverInfo['MainServer'] && !$onlyServerID) {
+			if ($serverInfo['MainServer'] && !$onlyServerID && $serverInfo['MainServer'] != $serverInfo['ServerID']) {
 				# 鏈変富鏈嶇殑浠h〃鏄悎鏈嶇殑锛屽彧鍙戜富鏈嶏紱鍥犱负瀛愭湇鏄悓涓�鍙版湇鍔″櫒锛屾病蹇呰閲嶅鍙戦��
 				continue;
 			}
diff --git a/Common/GMCmdProcess.php b/Common/GMCmdProcess.php
index c78c3c2..188ab31 100644
--- a/Common/GMCmdProcess.php
+++ b/Common/GMCmdProcess.php
@@ -137,7 +137,7 @@
 			continue;
 		}
 
-		if ($serverInfo['MainServer'] && !$onlyServerID) {
+		if ($serverInfo['MainServer'] && !$onlyServerID && $serverInfo['MainServer'] != $serverInfo['ServerID']) {
 			# 鏈変富鏈嶇殑浠h〃鏄悎鏈嶇殑锛屽彧鍏佽涓绘湇鍙戦��, 闄ら潪鏍囨槑浜嗗彧寰�鏌愪釜鏈嶅彂閫�
 			# 鍗曟湇鍙戦�佹秷鎭紝濡傛贩锛堝悎锛夋湇鎯呭喌涓嬪彧缁欏叾涓竴涓湇鍔″櫒鐜╁鍙戦偖浠�
 			continue;
diff --git a/Server/eventdata/OnlinePlayer.py b/Server/eventdata/OnlinePlayer.py
index 5c662d7..f95735f 100644
--- a/Server/eventdata/OnlinePlayer.py
+++ b/Server/eventdata/OnlinePlayer.py
@@ -18,6 +18,7 @@
     logging.info("queryOnlinePlayerInfo %s" % str(argvDict))
     startDate = argvDict.get("startDate", "")
     endDate = argvDict.get("endDate", "")
+    onlyServerIDHis = argvDict.get("onlyServerIDHis", "") # 鍙煡澶囨。鍗曟湇鏁版嵁
     
     # 鏌ヨ涓績澶囦唤鐨�
     if CommFunc.isQueryCenterbak(argvDict):
@@ -25,8 +26,12 @@
         return
     
     drInfo = {}
-    needQueryCenterbak = CommFunc.loopMainServerDR(cfg, startDate, endDate, argvDict, checkDrFileNeedParseFunc_OnlinePlayerInfo,
-                                                   parseLineFunc_OnlinePlayerInfo, drInfo, drNameList=DRNameList)
+    if not onlyServerIDHis:
+        needQueryCenterbak = CommFunc.loopMainServerDR(cfg, startDate, endDate, argvDict, checkDrFileNeedParseFunc_OnlinePlayerInfo,
+                                                    parseLineFunc_OnlinePlayerInfo, drInfo, drNameList=DRNameList)
+    else:
+        logging.info("onlyServerIDHis %s" % argvDict.get("OnlyServerID", ""))
+        needQueryCenterbak = True
     logging.info("needQueryCenterbak=%s" % needQueryCenterbak)
     if needQueryCenterbak:
         bakDataInfo = CommFunc.queryBackupCenterDR(cfg, argvDict)
diff --git a/SuperGMToolClient/QueryEventDataSend.php b/SuperGMToolClient/QueryEventDataSend.php
index 155c11f..ed9a22b 100644
--- a/SuperGMToolClient/QueryEventDataSend.php
+++ b/SuperGMToolClient/QueryEventDataSend.php
@@ -39,7 +39,7 @@
 			}
 			unset($pack_data[$postServerName]);
 
-			if ($serverInfo['MainServer'] && !$onlyServerID) {
+			if ($serverInfo['MainServer'] && !$onlyServerID && $serverInfo['MainServer'] != $serverInfo['ServerID']) {
 				# 鏈変富鏈嶇殑浠h〃鏄悎鏈嶇殑锛屽彧鍙戜富鏈嶏紱鍥犱负瀛愭湇鏄悓涓�鍙版湇鍔″櫒锛屾病蹇呰閲嶅鍙戦��
 				continue;
 			}
diff --git a/serverinfo/online.php b/serverinfo/online.php
index 2cdedd8..99d1635 100644
--- a/serverinfo/online.php
+++ b/serverinfo/online.php
@@ -19,8 +19,12 @@
 // 榛樿褰撳ぉ
 $startDate = array_key_exists("startDate", $_POST) ? $_POST["startDate"] : date("Y-m-d");
 $endDate = array_key_exists("endDate", $_POST) ? $_POST["endDate"] : date("Y-m-d");
+$onlyServerIDHis  =  $_POST["onlyServerIDHis"];
+$OnlyServerID = null;
+if ($onlyServerIDHis == "on") {
+    $OnlyServerID = 1; // 榛樿鍙煡鎸囧畾鏈�
+}
 
-$OnlyServerID = 1; // 榛樿鍙煡鎸囧畾鏈�
 // 璁剧疆榛樿鏁版嵁锛屽紑鐣岄潰榛樿鏌ラ�変腑鏈�
 $_POST["startDate"] = $startDate;
 $_POST["endDate"] = $endDate;
@@ -61,6 +65,10 @@
         ~
         <input type="text" name="endDate" id="endDate" onclick="new Calendar().show(this);" readonly value="<?php echo $endDate; ?>" size="8" />
         <input type="submit" value="<?php echo \Lang\gettext("鏌ヨ鏈湇"); ?>" onclick="onCurSubmit()" />
+        <?php
+        echo "&nbsp;&nbsp;";
+        echo '<input type="checkbox" name="onlyServerIDHis" id="onlyServerIDHis" ' . ($onlyServerIDHis == "on" ? "checked" : "") . ' onchange="onOnlyServerIDHisChange()" />' . \Lang\gettext("鏌ヨ鍗曟湇鍘嗗彶");
+        ?>
         <div id="OnlinePlayerInfo"></div>
         <hr />
         <?php
@@ -107,6 +115,14 @@
         }
     }
 
+    function onOnlyServerIDHisChange() {
+        if (document.getElementById("onlyServerIDHis").checked) {
+            document.getElementById("OnlyServerID").selectedIndex = 1;
+        } else {
+            document.getElementById("OnlyServerID").selectedIndex = 0;
+        }
+    }
+
     function drawChartLine(chartID, serverName, drData) {
 
         var backgroundColors = [
diff --git a/serverinfo/playerlv.php b/serverinfo/playerlv.php
index e1ae0a8..851fb90 100644
--- a/serverinfo/playerlv.php
+++ b/serverinfo/playerlv.php
@@ -16,7 +16,6 @@
 
 $serversArray = $user->GetServers();
 
-$OnlyServerID = 1; // 榛樿鍙煡鎸囧畾鏈�
 // 璁剧疆榛樿鏁版嵁锛屽紑鐣岄潰榛樿鏌ラ�変腑鏈�
 $_POST["eventType"] = "PlayerLVInfo";
 \CommFunc\QueryEventData($user, $retInfo);
@@ -46,6 +45,7 @@
     <form id="online" action="playerlv.php" method="post">
         <input type="submit" value="<?php echo \Lang\gettext("鏌ヨ鏈湇"); ?>" onclick="onCurSubmit()" />
         <input type="button" value="<?php echo \Lang\gettext("澶嶅埗鏁版嵁"); ?>" onclick="onCopyData()" />
+        &nbsp;&nbsp;娉細鏈暟鎹粎涓虹墿鐞嗘湇鏁版嵁锛屽鏋滄槸鍚堟湇鍒欎负鍚堟湇鏁版嵁锛屼笉鍖呭惈鍚堟湇鍚庤鍒犻櫎鐨勮鑹�
         <div id="OnlinePlayerInfo"></div>
         <hr />
         <?php

--
Gitblit v1.8.0