From 04bd31d0d508bea7d7b467f2fddfdc5d16004157 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 25 Sep 2020 17:39:11 +0800 Subject: [PATCH] 1 --- server/imserver/dbhelper.cc | 8 +++---- server/imserver/guild.cc | 5 +++-- server/imserver/guild.h | 44 +++++++++++++++++++++---------------- 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/server/imserver/dbhelper.cc b/server/imserver/dbhelper.cc index e181386..031578c 100644 --- a/server/imserver/dbhelper.cc +++ b/server/imserver/dbhelper.cc @@ -179,7 +179,7 @@ void DBHelper::AddGuildApply(Guild* guild, const cs::MFUserInfo& user_info) }; - a8::XObject conn_info = DBEngine::Instance()->GetConnInfo(guild->guild_id); + a8::XObject conn_info = DBEngine::Instance()->GetConnInfo(guild->GuildId()); DBEngine::Instance()->ExecAsyncScript ( conn_info, @@ -189,7 +189,7 @@ void DBHelper::AddGuildApply(Guild* guild, const cs::MFUserInfo& user_info) "VALUES(%d, '%s', '%s', '%s', '%s', %d, %d, %d, %d, %d, %d, 0);", { App::Instance()->NewUUID(), - guild->guild_id, + guild->GuildId(), user_info.base_data().account_id(), user_info.base_data().nickname(), user_info.base_data().avatar_url(), @@ -201,10 +201,10 @@ void DBHelper::AddGuildApply(Guild* guild, const cs::MFUserInfo& user_info) user_info.base_data().user_value3() }, a8::XParams() - .SetSender(guild->guild_id), + .SetSender(guild->GuildId()), on_ok, on_error, - guild->guild_id + guild->GuildId() ); } diff --git a/server/imserver/guild.cc b/server/imserver/guild.cc index 582141d..7bdfc57 100644 --- a/server/imserver/guild.cc +++ b/server/imserver/guild.cc @@ -27,10 +27,11 @@ void Guild::UnInit() delete pair.second; } member_hash_.clear(); - A8_SAFE_DELETE(logdb_); for (auto& pair : apply_hash_) { delete pair.second; } + apply_hash_.clear(); + A8_SAFE_DELETE(logdb_); } GuildMember* Guild::GetMember(const std::string& account_id) @@ -95,7 +96,7 @@ void Guild::MarkDirty() Guild* guild = (Guild*)param.sender.GetUserData(); guild->SaveToDB(); }, - &timer_attacher.timer_list_, + &timer_attacher_.timer_list_, [] (const a8::XParams& param) { Guild* guild = (Guild*)param.sender.GetUserData(); diff --git a/server/imserver/guild.h b/server/imserver/guild.h index 3e2bbe0..a00504a 100644 --- a/server/imserver/guild.h +++ b/server/imserver/guild.h @@ -36,28 +36,9 @@ class Guild public: enum { HID = HID_Guild }; public: - int gameid = 0; - long long guild_id = 0; - std::string guild_name; - int guild_lv = 0; - int guild_exp = 0; - int guild_badge = 0; - int guild_apply_num = 0; - std::string guild_notice; - std::string guild_declaration; - std::string owner_id; - std::string owner_name; - std::string owner_avatar_url; - std::string creator_id; - std::string creator_name; - std::string creator_avatar_url; - int guild_status = 0; - int createtime = 0; - a8::TimerAttacher timer_attacher; void Init(); void UnInit(); - void MarkDirty(); void Deserialize(const std::string& guild_data, const std::string& guild_log); void _CMGuildInfo(f8::MsgHdr& hdr, const cs::CMGuildInfo& msg); @@ -71,8 +52,11 @@ public: void _CMGuildApplyList(f8::MsgHdr& hdr, const cs::CMGuildApplyList& msg); void _CMGuildLog(f8::MsgHdr& hdr, const cs::CMGuildLog& msg); + long long GuildId() { return guild_id; } + private: bool IsFull(); + void MarkDirty(); GuildMember* GetMember(const std::string& account_id); void AddMember(GuildMember* member); void RemoveMember(const std::string& sender_id, @@ -97,4 +81,26 @@ private: std::vector sorted_members_; ss::MFGuildLogDB* logdb_ = nullptr; std::map apply_hash_; + + int gameid = 0; + long long guild_id = 0; + std::string guild_name; + int guild_lv = 0; + int guild_exp = 0; + int guild_badge = 0; + int guild_apply_num = 0; + std::string guild_notice; + std::string guild_declaration; + std::string owner_id; + std::string owner_name; + std::string owner_avatar_url; + std::string creator_id; + std::string creator_name; + std::string creator_avatar_url; + int guild_status = 0; + int createtime = 0; + + a8::TimerAttacher timer_attacher_; + + friend class GuildMgr; };