This commit is contained in:
aozhiwei 2020-09-25 12:05:46 +08:00
parent fc9e64eae6
commit 7c531d2b0f
3 changed files with 28 additions and 13 deletions

View File

@ -237,6 +237,8 @@ void Guild::_CMGuildApplyList(f8::MsgHdr& hdr, const cs::CMGuildApplyList& msg)
[] (a8::XParams& param, const f8::DataSet* data_set)
{
cs::MFPaging* paging = (cs::MFPaging*)param.param2.GetUserData();
ss::SS_IM_ForwardGuildCMMsg* forward_msg = (ss::SS_IM_ForwardGuildCMMsg*)
param.param3.GetUserData();
#if 0
Player* hum = PlayerMgr::Instance()->GetPlayerByAccountId(param.sender.GetString());
if (hum && hum->socket_handle == param.param1.GetInt()) {
@ -265,31 +267,33 @@ void Guild::_CMGuildApplyList(f8::MsgHdr& hdr, const cs::CMGuildApplyList& msg)
hum->SyncRedPoint();
}
#endif
delete forward_msg;
delete paging;
};
auto on_error =
[] (a8::XParams& param, int error_code, const std::string& error_msg)
{
cs::MFPaging* paging = (cs::MFPaging*)param.param2.GetUserData();
#if 0
Player* hum = PlayerMgr::Instance()->GetPlayerByAccountId(param.sender.GetString());
if (hum && hum->socket_handle == param.param1.GetInt()) {
cs::SMFriendApplyList respmsg;
hum->FillApplyList(*paging, respmsg);
hum->SendMsg(respmsg);
}
#endif
ss::SS_IM_ForwardGuildCMMsg* forward_msg = (ss::SS_IM_ForwardGuildCMMsg*)
param.param3.GetUserData();
cs::SMGuildJoin respmsg;
GuildMgr::Instance()->ForwardGuildSMMsg(param.param1,
forward_msg->context(),
respmsg);
delete forward_msg;
delete paging;
};
ss::SS_IM_ForwardGuildCMMsg *forward_msg = (ss::SS_IM_ForwardGuildCMMsg*)hdr.user_data;
ss::SS_IM_ForwardGuildCMMsg* forward_msg = (ss::SS_IM_ForwardGuildCMMsg*)hdr.user_data;
ss::SS_IM_ForwardGuildCMMsg* forward_msg_copy = new ss::SS_IM_ForwardGuildCMMsg();
*forward_msg_copy = *forward_msg;
cs::MFPaging* paging_copy = new cs::MFPaging;
*paging_copy = msg.paging();
#if 1
paging_copy->set_curr_page(0);
paging_copy->set_page_size(20);
#endif
a8::XObject conn_info = DBEngine::Instance()->GetConnInfo(guild_id);
std::string fmtstr = "SELECT '' AS account_id";
std::vector<a8::XValue> sql_params;
@ -312,8 +316,9 @@ void Guild::_CMGuildApplyList(f8::MsgHdr& hdr, const cs::CMGuildApplyList& msg)
sql_params,
a8::XParams()
.SetSender(guild_id)
.SetParam1(0)
.SetParam2(paging_copy),
.SetParam1(hdr.socket_handle)
.SetParam2(paging_copy)
.SetParam3(forward_msg_copy),
on_ok,
on_error,
guild_id

View File

@ -89,4 +89,5 @@ private:
std::map<std::string, GuildMember*> member_hash_;
std::vector<GuildMember*> sorted_members_;
ss::MFGuildLogDB* logdb_ = nullptr;
std::map<long long, GuildApply*> apply_hash_;
};

View File

@ -56,6 +56,15 @@ struct FriendApply
int flag = 0;
};
struct GuildApply
{
long long idx = 0;
long long applyid = 0;
long long guild_id;
BaseUserData base_data;
int flag = 0;
};
struct Event
{
long long idx = 0;