1
This commit is contained in:
parent
397808c1d2
commit
59f8b0ac36
@ -30,11 +30,26 @@ enum GuildApplyStatus_e
|
||||
|
||||
void Guild::Init()
|
||||
{
|
||||
last_active_time_ = App::Instance()->nowtime;
|
||||
last_saveok_time_ = App::Instance()->nowtime;
|
||||
logdb_ = new ss::MFGuildLogDB;
|
||||
for (size_t i = 0; i < kGuildJobMax; ++i) {
|
||||
job_hash_.push_back(std::set<std::string>());
|
||||
}
|
||||
RecalcRedPoint();
|
||||
a8::Timer::Instance()->AddRepeatTimerAndAttach
|
||||
(
|
||||
1000 * 60,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Guild* guild = (Guild*)param.sender.GetUserData();
|
||||
if (App::Instance()->nowtime - guild->last_active_time_ < 300) {
|
||||
guild->SaveToDB();
|
||||
}
|
||||
},
|
||||
&timer_attacher_.timer_list_);
|
||||
}
|
||||
|
||||
void Guild::UnInit()
|
||||
@ -1014,6 +1029,7 @@ void Guild::UpdateMemberOffline(const std::string& account_id)
|
||||
|
||||
void Guild::Active()
|
||||
{
|
||||
last_active_time_ = App::Instance()->nowtime;
|
||||
if (App::Instance()->nowtime - last_query_member_time_ > 15) {
|
||||
QueryMemberOnlineState();
|
||||
last_query_member_time_ = App::Instance()->nowtime;
|
||||
@ -1121,7 +1137,10 @@ void Guild::SaveToDB()
|
||||
auto on_ok =
|
||||
[] (a8::XParams& param, const f8::DataSet* data_set)
|
||||
{
|
||||
|
||||
Guild* guild = GuildMgr::Instance()->GetGuild(param.sender);
|
||||
if (guild) {
|
||||
guild->last_saveok_time_ = App::Instance()->nowtime;
|
||||
}
|
||||
};
|
||||
auto on_error =
|
||||
[] (a8::XParams& param, int error_code, const std::string& error_msg)
|
||||
@ -1165,7 +1184,8 @@ void Guild::SaveToDB()
|
||||
guild_status_ == kGuildDismissed ? GuildId() : 0,
|
||||
guild_id_
|
||||
},
|
||||
a8::XParams(),
|
||||
a8::XParams()
|
||||
.SetSender(GuildId()),
|
||||
on_ok,
|
||||
on_error,
|
||||
guild_id_
|
||||
|
@ -118,6 +118,9 @@ private:
|
||||
time_t last_query_member_time_ = 0;
|
||||
a8::TimerAttacher timer_attacher_;
|
||||
|
||||
time_t last_active_time_ = 0;
|
||||
time_t last_saveok_time_ = 0;
|
||||
|
||||
public:
|
||||
static Guild* CreateGuild(int gameid,
|
||||
long long guild_id,
|
||||
|
Loading…
x
Reference in New Issue
Block a user