This commit is contained in:
aozhiwei 2020-09-25 18:46:05 +08:00
parent 109b15dfc8
commit 914c93a931

View File

@ -118,9 +118,6 @@ void GuildMgr::CreateAsyncTask(int socket_handle, long long guild_id, AsyncGuild
void GuildMgr::LoadGuild(long long guild_id)
{
if (GetGuild(guild_id)) {
return;
}
if (pending_guild_hash_.find(guild_id) != pending_guild_hash_.end()) {
return;
}
@ -130,9 +127,10 @@ void GuildMgr::LoadGuild(long long guild_id)
[] (a8::XParams& param, const f8::DataSet* data_set)
{
GuildMgr::Instance()->pending_guild_hash_.erase(param.sender);
Guild* guild = nullptr;
if (data_set) {
for (auto& row : *data_set) {
Guild* guild = Guild::CreateGuild
guild = Guild::CreateGuild
(
a8::XValue(row[0]), //gameid
a8::XValue(row[1]), //guild_id
@ -158,6 +156,19 @@ void GuildMgr::LoadGuild(long long guild_id)
GuildMgr::Instance()->id_hash_[guild->GuildId()] = guild;
break;
}
}//end if
GuildMgr::Instance()->pending_guild_hash_.erase(param.sender);
auto itr = GuildMgr::Instance()->task_hash_.find(param.sender);
if (itr != GuildMgr::Instance()->task_hash_.end()) {
for (auto task : itr->second) {
if (guild) {
task->Execute(guild);
} else {
task->OnError();
}
delete task;
}
GuildMgr::Instance()->task_hash_.erase(itr);
}
};
auto on_error =
@ -172,7 +183,7 @@ void GuildMgr::LoadGuild(long long guild_id)
}
GuildMgr::Instance()->task_hash_.erase(itr);
}
};
};
a8::XObject conn_info = DBEngine::Instance()->GetConnInfo(guild_id);
DBEngine::Instance()->ExecAsyncQuery