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) void GuildMgr::LoadGuild(long long guild_id)
{ {
if (GetGuild(guild_id)) {
return;
}
if (pending_guild_hash_.find(guild_id) != pending_guild_hash_.end()) { if (pending_guild_hash_.find(guild_id) != pending_guild_hash_.end()) {
return; return;
} }
@ -130,9 +127,10 @@ void GuildMgr::LoadGuild(long long guild_id)
[] (a8::XParams& param, const f8::DataSet* data_set) [] (a8::XParams& param, const f8::DataSet* data_set)
{ {
GuildMgr::Instance()->pending_guild_hash_.erase(param.sender); GuildMgr::Instance()->pending_guild_hash_.erase(param.sender);
Guild* guild = nullptr;
if (data_set) { if (data_set) {
for (auto& row : *data_set) { for (auto& row : *data_set) {
Guild* guild = Guild::CreateGuild guild = Guild::CreateGuild
( (
a8::XValue(row[0]), //gameid a8::XValue(row[0]), //gameid
a8::XValue(row[1]), //guild_id a8::XValue(row[1]), //guild_id
@ -158,6 +156,19 @@ void GuildMgr::LoadGuild(long long guild_id)
GuildMgr::Instance()->id_hash_[guild->GuildId()] = guild; GuildMgr::Instance()->id_hash_[guild->GuildId()] = guild;
break; 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 = auto on_error =