From 31bbda443a2bbc0fafce7128799c950eeb9f4fd1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 28 十一月 2024 19:10:18 +0800
Subject: [PATCH] 10162 后台优化(特殊账号针对270服合服特殊处理;特殊账号查流向只查本服ID,目前已处理充值查询)
---
Account/User.php | 43 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/Account/User.php b/Account/User.php
index 3467e3f..48232b4 100644
--- a/Account/User.php
+++ b/Account/User.php
@@ -400,12 +400,14 @@
}
//鏍规嵁鎸囧畾鐨剆pid鑾峰彇瀵瑰簲鏈嶅姟鍣ㄥ垪琛ㄩ厤缃�
- public function GetServersCfg($spid)
+ public function GetServersCfg($spid, $checkSpecial = true)
{
$ConfigFile = dirname(__FILE__) . "\Server\Server_" . $spid . ".ini";
if (file_exists($ConfigFile)) {
$serversCfg = parse_ini_file($ConfigFile, true);
-
+ if (!$checkSpecial) {
+ return $serversCfg;
+ }
$UserAccount = $this->userData["UserAccount"];
\CommFunc\GetConfig("ServerInfo", "SpecialServerIDStart", $SpecialServerIDStart);
\CommFunc\GetConfig("ServerInfo", "SpecialAccountList", $SpecialAccountList);
@@ -442,11 +444,29 @@
return $this->serversArray;
}
$spid = $this->GetSPID();
- $serversCfg = $this->GetServersCfg($spid);
+ $serversCfg = $this->GetServersCfg($spid, false);
if (!count($serversCfg)) {
return $serversCfg;
}
$this->serversArray = $serversCfg;
+
+ $UserAccount = $this->userData["UserAccount"];
+ \CommFunc\GetConfig("ServerInfo", "SpecialServerIDStart", $SpecialServerIDStart);
+ \CommFunc\GetConfig("ServerInfo", "SpecialAccountList", $SpecialAccountList);
+ $SpecialAccountList = explode(",", $SpecialAccountList);
+ $SpecialServerIDStart = intval($SpecialServerIDStart);
+ $isSpecialUser = in_array($UserAccount, $SpecialAccountList);
+ $specialServerID = 270; // 270鏈嶇壒娈婂鐞嗭紝琚悎鍒�270浠ュ墠鐨勬湇浜�
+ $specialMainServerID = 0; // 鐗规畩鏈嶆墍灞炰富鏈�
+ if ($isSpecialUser) {
+ foreach ($serversCfg as $info) {
+ $ServerID = intval($info["ServerID"]);
+ if ($ServerID == $specialServerID && $info["MainServer"]) {
+ $specialMainServerID = intval($info["MainServer"]);
+ break;
+ }
+ }
+ }
# 缁熻鍚堟湇鍒楄〃
$mixServerArray = array();
@@ -462,6 +482,13 @@
$mixServerArray[$mainServerID] = array("MixServerIDList" => array(), "MixServerStr" => "");
}
array_push($mixServerArray[$mainServerID]["MixServerIDList"], intval($serverInfo["ServerID"]));
+ }
+
+ if ($isSpecialUser) {
+ if ($specialMainServerID) {
+ // 鐗规畩鏈嶅彧鏄剧ず杩欎袱涓湇
+ $mixServerArray[$specialMainServerID] = array("MixServerIDList" => array($specialMainServerID, $specialServerID), "MixServerStr" => "");
+ }
}
# 缈昏瘧鍚堟湇瀛楃涓蹭俊鎭�
@@ -515,6 +542,16 @@
$this->serversArray[$serverName]["MixServerIDList"] = $mixServerInfo["MixServerIDList"];
$this->serversArray[$serverName]["MixServerStr"] = $mixServerInfo["MixServerStr"];
}
+
+ // 鐗规畩璐﹀彿锛屽彧鑳界湅鎸囧畾鏈嶅強浠ヤ笂
+ if ($isSpecialUser) {
+ foreach ($this->serversArray as $key => $info) {
+ $serverID = intval($info["ServerID"]);
+ if ($serverID < $SpecialServerIDStart && $serverID != $specialMainServerID) {
+ unset($this->serversArray[$key]);
+ }
+ }
+ }
return $this->serversArray;
}
--
Gitblit v1.8.0