This commit is contained in:
aozhiwei 2020-10-10 13:01:51 +08:00
parent 8faa7862b4
commit 45fac7f366
2 changed files with 10 additions and 9 deletions

View File

@ -448,8 +448,8 @@ cs::MFGuildBasic* GuildMgr::GetGuildByName(int gameid, int channel, const std::s
std::vector<cs::MFGuildBasic*>* GuildMgr::GetGuildRank(int gameid) std::vector<cs::MFGuildBasic*>* GuildMgr::GetGuildRank(int gameid)
{ {
auto itr = sorted_game_guild_list_.find(gameid); auto itr = rank_list_.find(gameid);
return itr != sorted_game_guild_list_.end() ? &itr->second : nullptr; return itr != rank_list_.end() ? &itr->second : nullptr;
} }
void GuildMgr::AddGuild(cs::MFGuildBasic* guild) void GuildMgr::AddGuild(cs::MFGuildBasic* guild)
@ -641,14 +641,14 @@ void GuildMgr::GenGuildRank()
auto force_rank_list = auto force_rank_list =
[this] (int gameid) -> std::vector<cs::MFGuildBasic*>& [this] (int gameid) -> std::vector<cs::MFGuildBasic*>&
{ {
auto itr = sorted_game_guild_list_.find(gameid); auto itr = rank_list_.find(gameid);
if (itr != sorted_game_guild_list_.end()) { if (itr != rank_list_.end()) {
return itr->second; return itr->second;
} }
sorted_game_guild_list_[gameid] = std::vector<cs::MFGuildBasic*>(); rank_list_[gameid] = std::vector<cs::MFGuildBasic*>();
return sorted_game_guild_list_[gameid]; return rank_list_[gameid];
}; };
sorted_game_guild_list_.clear(); rank_list_.clear();
for (auto& pair : id_hash_) { for (auto& pair : id_hash_) {
auto guild = pair.second; auto guild = pair.second;
std::vector<cs::MFGuildBasic*>& rank_list = force_rank_list(guild->_gameid()); std::vector<cs::MFGuildBasic*>& rank_list = force_rank_list(guild->_gameid());

View File

@ -7,6 +7,7 @@ namespace cs
class MFGuildBasic; class MFGuildBasic;
} }
struct timer_list;
class GuildMgr : public a8::Singleton<GuildMgr> class GuildMgr : public a8::Singleton<GuildMgr>
{ {
private: private:
@ -50,6 +51,6 @@ class GuildMgr : public a8::Singleton<GuildMgr>
std::map<int, int> sync_db_hash_; std::map<int, int> sync_db_hash_;
std::map<long long, cs::MFGuildBasic*> id_hash_; std::map<long long, cs::MFGuildBasic*> id_hash_;
std::map<std::string, cs::MFGuildBasic*> name_hash_; std::map<std::string, cs::MFGuildBasic*> name_hash_;
std::map<int, std::vector<cs::MFGuildBasic*>> sorted_game_guild_list_; std::map<int, std::vector<cs::MFGuildBasic*>> rank_list_;
std::map<std::string, std::set<long long>> search_cache_; std::map<std::string, std::tuple<timer_list*, std::set<long long>>> search_cache_;
}; };