<?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);
|