hxp
2025-06-04 f4a514d5ac952110da846636ecbb9de951eaf3d2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
include_once "/Common/Logging.php";
include_once "/db/DBOper.php";
 
// 查询角色数据
\Logging\CreateLogging("common.Queryroles.php");
\Logging\LogInfo("_POST:" . print_r($_POST, true));
 
$accIDs = $_POST["accIDs"]; // 支持同时提交多个账号查询,中间用 | 分割
 
$accIDArray = explode("|", $accIDs);
if (!count($accIDArray)) {
    echo "{}";
    exit;
}
 
$returnArr = array();
$findArray = array();
foreach ($accIDArray as $accID) {
    $returnArr[$accID] = array();
 
    $accIDInfo = explode("@", $accID);
    if (count($accIDInfo) < 3) {
        continue;
    }
    $channel = $accIDInfo[count($accIDInfo) - 2];
    if (!array_key_exists($channel, $findArray)) {
        $findArray[$channel] = array();
    }
 
    $AccountID = implode("@", array_slice($accIDInfo, 0, count($accIDInfo) - 2));
    array_push($findArray[$channel], $AccountID);
}
 
\Logging\LogInfo("findArray:" . print_r($findArray, true));
 
foreach ($findArray as $channel => $AccountIDs) {
    $find = array("Channel" => $channel, "AccountID" => array('$in' => $AccountIDs));
    if (!\DBOper\Find("GameRoles", $find, $findDataList) || !isset($findDataList)) {
        continue;
    }
 
    foreach ($findDataList as $findData) {
        foreach ($findData as $field => $value) {
            $serverID = \CommFunc\GetServerIDBySid($field);
            if ($serverID <= 0) {
                continue;
            }
 
            $accID = $findData["AccountID"] . "@" . $findData["Channel"] . "@" . $field;
            if (!in_array($accID, $accIDArray)) {
                continue;
            }
            $roleInfo = $value;
            if ($roleInfo["PlayerName"]) {
                $roleInfo["CrossPlayerName"] = "[" . $field . "]" . $roleInfo["PlayerName"];
            }
            $returnArr[$accID] = $roleInfo;
        }
    }
}
 
\Logging\LogInfo("returnArr:" . print_r($returnArr, true));
echo json_encode($returnArr);