From 3e9b34cbe09067229f8f91f14784c84f49301baf Mon Sep 17 00:00:00 2001 From: azw Date: Wed, 22 Mar 2023 08:57:01 +0000 Subject: [PATCH] 1 --- server/gameserver/team.cc | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/server/gameserver/team.cc b/server/gameserver/team.cc index 9ec9596c..037359ab 100644 --- a/server/gameserver/team.cc +++ b/server/gameserver/team.cc @@ -9,6 +9,8 @@ #include "bornpoint.h" #include "battledatacontext.h" #include "stats.h" +#include "jsondatamgr.h" +#include "httpproxy.h" #include "mt/Map.h" #include "mt/Hero.h" @@ -185,6 +187,42 @@ bool Team::HasPlayer() void Team::SendTeamBattleReport(Human* sender) { + Human* player = nullptr; + for (Human* hum : members_) { + if (hum->IsPlayer()) { + player = hum; + break; + } + } + if (!player) { + return; + } + + std::shared_ptr post_data = a8::MutableXObject::CreateObject(); + GenBattleReportData(post_data.get()); + std::string url; + JsonDataMgr::Instance()->GetApiUrl(url); + if (url.find('?') != std::string::npos) { + url += "c=Battle&a=teamReport"; + } else { + url += "?c=Battle&a=teamReport"; + } + std::shared_ptr params = a8::MutableXObject::CreateObject(); + params->SetVal("account_id", player->account_id); + params->SetVal("session_id", player->session_id); + params->SetVal("__POST", post_data->ToJsonStr()); + + long long room_uuid = room->GetRoomUuid(); + int team_id = GetTeamId(); + HttpProxy::Instance()->HttpGet + ( + [room_uuid, team_id] + (bool ok, a8::XObject* rsp_obj, f8::HttpContext* ctx) + { + }, + url.c_str(), + *params.get() + ); already_report_battle = true; sending_battlereport = false; TraverseMembers