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