1
This commit is contained in:
parent
f036cd9de6
commit
4765f1d8ed
@ -509,6 +509,55 @@ void Guild::_CMGuildChange(f8::MsgHdr& hdr, const cs::CMGuildChange& msg)
|
||||
respmsg);
|
||||
MarkDirty();
|
||||
}
|
||||
|
||||
ss::SS_IM_ForwardGuildCMMsg *forward_msg_copy = new ss::SS_IM_ForwardGuildCMMsg;
|
||||
*forward_msg_copy = *forward_msg;
|
||||
cs::CMGuildChange* msg_copy = new cs::CMGuildChange;
|
||||
*msg_copy = msg;
|
||||
|
||||
std::string ip;
|
||||
int port = 0;
|
||||
JsonDataMgr::Instance()->GetRankServerConf(ip, port);
|
||||
|
||||
a8::MutableXObject* params = a8::MutableXObject::NewObject();
|
||||
params->SetVal("account_id", forward_msg->context().user_info().base_data().account_id());
|
||||
params->SetVal("guild_id", guild_id_);
|
||||
params->SetVal("guild_name", guild_name_);
|
||||
params->SetVal("guild_declaration", guild_declaration_);
|
||||
f8::HttpClientPool::Instance()->HttpGet
|
||||
(
|
||||
a8::XParams()
|
||||
.SetSender(guild_id_)
|
||||
.SetParam1(forward_msg_copy)
|
||||
.SetParam2(hdr.socket_handle)
|
||||
.SetParam3(msg_copy),
|
||||
[] (a8::XParams& param, a8::XObject& data)
|
||||
{
|
||||
ss::SS_IM_ForwardGuildCMMsg *forward_msg_copy = (ss::SS_IM_ForwardGuildCMMsg*)param.param1.GetUserData();
|
||||
cs::CMGuildChange* msg_copy = (cs::CMGuildChange*)param.param3.GetUserData();
|
||||
Guild* guild = GuildMgr::Instance()->GetGuild(param.sender);
|
||||
if (guild) {
|
||||
guild->GuildRenameCb(param.param2, forward_msg_copy->context(), *msg_copy);
|
||||
}
|
||||
delete msg_copy;
|
||||
delete forward_msg_copy;
|
||||
},
|
||||
[] (a8::XParams& param, const std::string& response)
|
||||
{
|
||||
ss::SS_IM_ForwardGuildCMMsg *forward_msg_copy = (ss::SS_IM_ForwardGuildCMMsg*)param.param1.GetUserData();
|
||||
cs::CMGuildChange* msg_copy = (cs::CMGuildChange*)param.param3.GetUserData();
|
||||
Guild* guild = GuildMgr::Instance()->GetGuild(param.sender);
|
||||
if (guild) {
|
||||
guild->SendErrorMsg(param.param2, forward_msg_copy->context(), "服务器内部错误");
|
||||
}
|
||||
delete msg_copy;
|
||||
delete forward_msg_copy;
|
||||
},
|
||||
a8::Format("http://%s:%d/webapp/index.php?c=Guild&a=rename", {ip, port}).c_str(),
|
||||
*params,
|
||||
GuildId()
|
||||
);
|
||||
delete params;
|
||||
}
|
||||
|
||||
void Guild::_CMGuildMemberList(f8::MsgHdr& hdr, const cs::CMGuildMemberList& msg)
|
||||
@ -1208,3 +1257,32 @@ GuildMember* Guild::ChooseLeader(std::set<std::string>* members)
|
||||
}
|
||||
return leader;
|
||||
}
|
||||
|
||||
void Guild::GuildRenameCb(int socket_handle, const ss::MFIMMsgConext& context, const cs::CMGuildChange& msg)
|
||||
{
|
||||
if (msg.has_guild_name()) {
|
||||
guild_name_ = msg.guild_name();
|
||||
}
|
||||
if (msg.has_guild_badge()) {
|
||||
guild_badge_ = msg.guild_badge();
|
||||
}
|
||||
if (msg.has_guild_declaration()) {
|
||||
guild_declaration_ = msg.guild_declaration();
|
||||
}
|
||||
if (msg.has_join_unlimited()) {
|
||||
join_unlimited_ = msg.join_unlimited();
|
||||
}
|
||||
if (msg.has_join_cond1()) {
|
||||
join_cond1_ = msg.join_cond1();
|
||||
}
|
||||
if (msg.has_join_cond2()) {
|
||||
join_cond2_ = msg.join_cond2();
|
||||
}
|
||||
|
||||
cs::SMGuildChange respmsg;
|
||||
FillGuildBasic(respmsg.mutable_info());
|
||||
GuildMgr::Instance()->ForwardGuildSMMsg(socket_handle,
|
||||
context,
|
||||
respmsg);
|
||||
MarkDirty();
|
||||
}
|
||||
|
@ -66,6 +66,7 @@ private:
|
||||
void SendErrorMsg(int sokcet_handle, const ss::MFIMMsgConext& context, const std::string& errmsg);
|
||||
void QueryMemberOnlineState();
|
||||
GuildMember* ChooseLeader(std::set<std::string>* members);
|
||||
void GuildRenameCb(int socket_handle, const ss::MFIMMsgConext& context, const cs::CMGuildChange& msg);
|
||||
|
||||
private:
|
||||
bool dirty_ = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user