From a97e7b50926bb308ab7810da7a427c8aadd02f35 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 8 Oct 2020 19:40:06 +0800 Subject: [PATCH] 1 --- server/rankserver/guildmgr.cc | 25 +++++++++++++++++++++++++ server/rankserver/guildmgr.h | 2 ++ server/rankserver/handlermgr.cc | 5 +++++ 3 files changed, 32 insertions(+) diff --git a/server/rankserver/guildmgr.cc b/server/rankserver/guildmgr.cc index 14fdf39..0cad2b0 100644 --- a/server/rankserver/guildmgr.cc +++ b/server/rankserver/guildmgr.cc @@ -173,6 +173,11 @@ void GuildMgr::__GuildSearch(f8::JsonHttpRequest* request) delete guild_list; } +void GuildMgr::__GuildUpdate(f8::JsonHttpRequest* request) +{ + +} + void GuildMgr::__GuildRank(f8::JsonHttpRequest* request) { if (!load_done_) { @@ -378,6 +383,7 @@ void GuildMgr::SyncGuild(int instance_id) if (a8::XValue(row[17]).GetInt64() > last_sync_time) { last_sync_time = a8::XValue(row[17]); } + GuildMgr::Instance()->UpdateGuild(guild); delete guild; } if (last_sync_time > GuildMgr::Instance()->sync_db_hash_[instance_id]) { @@ -512,6 +518,25 @@ void GuildMgr::UpdateRank(std::vector& rank_list, cs::MFGuild } } +void GuildMgr::UpdateGuild(cs::MFGuildBasic* new_guild) +{ + auto guild = GetGuild(new_guild->guild_id()); + if (guild) { + guild->set_guild_name(new_guild->guild_name()); + guild->set_guild_lv(new_guild->guild_lv()); + guild->set_guild_exp(new_guild->guild_exp()); + guild->set_guild_badge(new_guild->guild_badge()); + guild->set_member_num((new_guild->member_num())); + guild->set_guild_declaration((new_guild->guild_declaration())); + guild->set_owner_id((new_guild->owner_id())); + guild->set_owner_name((new_guild->owner_name())); + guild->set_owner_avatar_url((new_guild->owner_avatar_url())); + guild->set_join_unlimited((new_guild->join_unlimited())); + guild->set_join_cnod1((new_guild->join_cnod1())); + guild->set_join_cnod2((new_guild->join_cnod2())); + } +} + bool GuildMgr::CmpGuild(cs::MFGuildBasic* a, cs::MFGuildBasic* b) { if (a->guild_lv() > b->guild_lv()) { diff --git a/server/rankserver/guildmgr.h b/server/rankserver/guildmgr.h index 3b94fef..928d32d 100644 --- a/server/rankserver/guildmgr.h +++ b/server/rankserver/guildmgr.h @@ -19,6 +19,7 @@ class GuildMgr : public a8::Singleton void __GuildCreate(f8::JsonHttpRequest* request); void __GuildSearch(f8::JsonHttpRequest* request); + void __GuildUpdate(f8::JsonHttpRequest* request); void __GuildRank(f8::JsonHttpRequest* request); void __GuildConfirmed(f8::JsonHttpRequest* request); void __GenTestData(f8::JsonHttpRequest* request); @@ -34,6 +35,7 @@ class GuildMgr : public a8::Singleton void GenGuildRank(); void ResortRank(std::vector& rank_list); void UpdateRank(std::vector& rank_list, cs::MFGuildBasic* guild); + void UpdateGuild(cs::MFGuildBasic* new_guild); bool CmpGuild(cs::MFGuildBasic* a, cs::MFGuildBasic* b); void InstallSyncGuildTimer(); diff --git a/server/rankserver/handlermgr.cc b/server/rankserver/handlermgr.cc index 7aa4b48..89c4ecb 100644 --- a/server/rankserver/handlermgr.cc +++ b/server/rankserver/handlermgr.cc @@ -40,6 +40,11 @@ void HandlerMgr::Init() { GuildMgr::Instance()->__GuildSearch(request); }); + RegisterGMMsgHandler("Guild@update", + [] (f8::JsonHttpRequest* request) + { + GuildMgr::Instance()->__GuildUpdate(request); + }); RegisterGMMsgHandler("Guild@rank", [] (f8::JsonHttpRequest* request) {