This commit is contained in:
aozhiwei 2020-09-23 19:47:33 +08:00
parent 5cacd0893b
commit 67be68051c
4 changed files with 29 additions and 3 deletions

View File

@ -12,6 +12,9 @@
#include "asynctaskmgr.h"
#include "dbengine.h"
#include "jsondatamgr.h"
#include "player.h"
#include "playermgr.h"
#include "app.h"
#include "framework/cpp/httpclientpool.h"
@ -257,11 +260,15 @@ unsigned int GuildMgr::GetGuildCrc32(long long guild_id)
void GuildMgr::_CMGuildCreate(int socket_handle, const ss::MFIMMsgConext& context, const cs::CMGuildCreate& msg)
{
Player* hum = PlayerMgr::Instance()->GetPlayerBySocket(socket_handle);
if (!hum) {
return;
}
Guild* guild = GetGuild(context.user_info().base_data().guild_id());
if (guild) {
cs::SMGuildCreate respmsg;
respmsg.set_errcode(1);
respmsg.set_errmsg("id已经存在");
respmsg.set_errmsg("公会id已经存在");
ForwardGuildSMMsg(socket_handle, context, respmsg);
return;
}
@ -274,12 +281,24 @@ void GuildMgr::_CMGuildCreate(int socket_handle, const ss::MFIMMsgConext& contex
int socket_handle = 0;
ss::MFIMMsgConext context;
cs::CMGuildCreate msg;
long long guild_id = 0;
};
MsgContext* msg_context = new MsgContext;
msg_context->socket_handle = socket_handle;
msg_context->context = context;
msg_context->msg = msg;
msg_context->guild_id = App::Instance()->NewUUID();
a8::MutableXObject* params = a8::MutableXObject::NewObject();
params->SetVal("gameid", hum->gameid);
params->SetVal("guild_id", msg_context->guild_id);
params->SetVal("guild_name", msg.guild_name());
params->SetVal("guild_badge", msg.guild_badge());
params->SetVal("guild_lv", 1);
params->SetVal("guild_exp", 0);
params->SetVal("guild_declaration", msg.guild_declaration());
params->SetVal("owner_id", hum->AccountId());
params->SetVal("owner_name", hum->NickName());
params->SetVal("owner_avatar_url", hum->AvatarUrl());
f8::HttpClientPool::Instance()->HttpGet
(
a8::XParams()
@ -300,7 +319,7 @@ void GuildMgr::_CMGuildCreate(int socket_handle, const ss::MFIMMsgConext& contex
},
a8::Format("http://%s:%d/webapp/index.php?c=Guild&a=create", {ip, port}).c_str(),
*params,
0
msg_context->guild_id
);
delete params;
}

View File

@ -1138,6 +1138,11 @@ const std::string Player::NickName()
return myself.base_data.nickname;
}
const std::string Player::AvatarUrl()
{
return myself.base_data.avatar_url;
}
int Player::GetFriendNum()
{
return friend_hash_.size();

View File

@ -126,6 +126,7 @@ class Player
const std::string AccountId();
const std::string SessionId();
const std::string NickName();
const std::string AvatarUrl();
int GetFriendNum();
private:

View File

@ -20,9 +20,10 @@ void TypeConvert::Convert(const cs::MFGuildBasic* guild_basic, a8::MutableXObjec
void TypeConvert::Convert(f8::JsonHttpRequest* request, cs::MFGuildBasic* guild_basic)
{
guild_basic->set_guild_id(request->request.At("guild_id")->AsXValue());
guild_basic->set__gameid(request->request.At("gameid")->AsXValue());
guild_basic->set_guild_id(request->request.At("guild_id")->AsXValue());
guild_basic->set_guild_name(request->request.At("guild_name")->AsXValue().GetString());
guild_basic->set_guild_badge(request->request.At("guild_badge")->AsXValue());
guild_basic->set_guild_lv(request->request.At("guild_lv")->AsXValue());
guild_basic->set_guild_exp(request->request.At("guild_exp")->AsXValue());
guild_basic->set_guild_declaration(request->request.At("guild_declaration")->AsXValue().GetString());