This commit is contained in:
aozhiwei 2020-09-28 12:03:51 +08:00
parent c2eec25e39
commit faefd885a1
10 changed files with 85 additions and 34 deletions

View File

@ -130,13 +130,15 @@ void DBHelper::ConfirmGuild(Player* hum, long long guild_id)
hum->UpdateGuildData(param.param1, kGuildOwner);
hum->SaveToDB
(a8::XParams()
.SetSender(hum->AccountId()),
.SetSender(hum->AccountId())
.SetParam1(param.param1.GetInt64()),
[] (a8::XParams& param, const f8::DataSet* data_set)
{
Player* hum = PlayerMgr::Instance()->GetPlayerByAccountId
(param.sender.GetString());
if (hum) {
cs::SMGuildCreate respmsg;
respmsg.set_guild_id(param.param1);
hum->SendMsg(respmsg);
}
},

View File

@ -480,9 +480,9 @@ void Guild::FillGuildBasic(cs::MFGuildBasic* guild_basic)
guild_basic->set_guild_badge(guild_badge_);
guild_basic->set_member_num(member_hash_.size());
guild_basic->set_guild_declaration(guild_declaration_);
guild_basic->set_guild_owner_id(owner_id_);
guild_basic->set_guild_owner_name(owner_name_);
guild_basic->set_guild_owner_avatar_url(owner_avatar_url_);
guild_basic->set_owner_id(owner_id_);
guild_basic->set_owner_name(owner_name_);
guild_basic->set_owner_avatar_url(owner_avatar_url_);
}
void Guild::FillGuildDB(ss::MFGuildDB& guild_pb)
@ -660,6 +660,9 @@ Guild* Guild::CreateGuild(int gameid,
const std::string& creator_avatar_url,
const std::string& guild_data,
int guild_status,
int join_unlimited,
int join_cond1,
int join_cond2,
int createtime
)
{
@ -683,6 +686,9 @@ Guild* Guild::CreateGuild(int gameid,
guild->creator_name_ = creator_name;
guild->creator_avatar_url_ = creator_avatar_url;
guild->guild_status_ = guild_status;
guild->join_unlimited_ = join_unlimited;
guild->join_cond1_ = join_cond1;
guild->join_cond2_ = join_cond2;
guild->createtime_ = createtime;
//guild_members
guild->Deserialize(guild_data, guild_log);

View File

@ -77,6 +77,9 @@ private:
std::string creator_name_;
std::string creator_avatar_url_;
int guild_status_ = 0;
int join_unlimited_ = 0;
int join_cond1_ = 0;
int join_cond2_ = 0;
int createtime_ = 0;
a8::TimerAttacher timer_attacher_;
@ -101,6 +104,9 @@ public:
const std::string& creator_avatar_url,
const std::string& guild_data,
int guild_status,
int join_unlimited,
int join_cond1,
int join_cond2,
int createtime
);
static void GenGuildData(Player* hum, long long guild_id, std::string& guild_data);

View File

@ -158,7 +158,10 @@ void GuildMgr::LoadGuild(long long guild_id)
row[17], //creator_avatar_url
row[18], //guild_data
a8::XValue(19), //guild_status
a8::XValue(20) //createtime
a8::XValue(20), //join_unlimited
a8::XValue(21), //join_cond1
a8::XValue(22), //join_cond2
a8::XValue(23) //createtime
);
GuildMgr::Instance()->id_hash_[guild->GuildId()] = guild;
break;
@ -199,7 +202,8 @@ void GuildMgr::LoadGuild(long long guild_id)
"SELECT gameid, guild_id, guild_name, guild_lv, guild_exp, guild_badge, guild_apply_num, "
" guild_members, guild_notice, guild_declaration, guild_log, "
" owner_id, owner_name, owner_avatar_url, "
" creator_id, creator_name, creator_avatar_url, guild_data, guild_status, createtime "
" creator_id, creator_name, creator_avatar_url, guild_data, guild_status, "
" join_unlimited, join_cond1, join_cond2, createtime "
"WHERE guild_id=%d;",
{
guild_id

View File

@ -662,6 +662,9 @@ void Player::_CMGuildCreate(f8::MsgHdr& hdr, const cs::CMGuildCreate& msg)
params->SetVal("owner_id", AccountId());
params->SetVal("owner_name", NickName());
params->SetVal("owner_avatar_url", AvatarUrl());
params->SetVal("join_unlimited", msg.join_unlimited());
params->SetVal("join_cond1", msg.join_cond1());
params->SetVal("join_cond2", msg.join_cond2());
f8::HttpClientPool::Instance()->HttpGet
(
a8::XParams()

View File

@ -49,9 +49,12 @@ void TypeConvert::Convert(a8::XObject& xobj, cs::MFGuildBasic* guild_basic)
guild_basic->set_guild_badge(xobj.At("guild_badge")->AsXValue());
guild_basic->set_member_num(xobj.At("member_num")->AsXValue());
guild_basic->set_guild_declaration(xobj.At("guild_declaration")->AsXValue().GetString());
guild_basic->set_guild_owner_id(xobj.At("guild_owner_id")->AsXValue().GetString());
guild_basic->set_guild_owner_name(xobj.At("guild_owner_name")->AsXValue().GetString());
guild_basic->set_guild_owner_avatar_url(xobj.At("guild_owner_avatar_url")->AsXValue().GetString());
guild_basic->set_owner_id(xobj.At("owner_id")->AsXValue().GetString());
guild_basic->set_owner_name(xobj.At("owner_name")->AsXValue().GetString());
guild_basic->set_owner_avatar_url(xobj.At("owner_avatar_url")->AsXValue().GetString());
guild_basic->set_join_unlimited(xobj.At("join_unlimited")->AsXValue());
guild_basic->set_join_cond1(xobj.At("join_cond1")->AsXValue());
guild_basic->set_join_cond2(xobj.At("join_cond2")->AsXValue());
}
void TypeConvert::Convert(a8::XObject& xobj, cs::MFPaging* paging)

View File

@ -55,10 +55,10 @@ void GuildMgr::__GuildCreate(f8::JsonHttpRequest* request)
"INSERT INTO `guild`(gameid, guild_id, guild_name, guild_lv, guild_exp, guild_badge, "
" guild_apply_num, guild_notice, guild_declaration, guild_log, owner_id, "
" owner_name, owner_avatar_url, creator_id, creator_name, creator_avatar_url, "
" guild_data, guild_status, createtime, modifytime)"
" guild_data, guild_status, join_unlimited, join_cond1, join_cond2, ,createtime, modifytime)"
"VALUES(%d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', "
" '%s', '%s', '%s', '%s', '%s', "
" '%s', %d, %d, %d);",
" '%s', %d, %d, %d, %d, %d, %d);",
{
guild->_gameid(),
guild->guild_id(),
@ -70,14 +70,17 @@ void GuildMgr::__GuildCreate(f8::JsonHttpRequest* request)
"",
guild->guild_declaration(),
"",
guild->guild_owner_id(),
guild->guild_owner_name(),
guild->guild_owner_avatar_url(),
guild->guild_owner_id(),
guild->guild_owner_name(),
guild->guild_owner_avatar_url(),
guild->owner_id(),
guild->owner_name(),
guild->owner_avatar_url(),
guild->owner_id(),
guild->owner_name(),
guild->owner_avatar_url(),
guild_data,
0,
guild->join_unlimited(),
guild->join_cond1(),
guild->join_cond2(),
App::Instance()->nowtime,
App::Instance()->nowtime
},
@ -277,7 +280,8 @@ void GuildMgr::LoadGuild(int instance_id, long long last_idx)
*JsonDataMgr::Instance()->GetMysqlConf(instance_id),
"SELECT idx, gameid, guild_id, guild_name, guild_lv, guild_exp, guild_badge, guild_notice, "
" guild_declaration, owner_id, owner_name, owner_avatar_url, "
" creator_id, creator_name, creator_avatar_url, guild_status, createtime, modifytime "
" creator_id, creator_name, creator_avatar_url, guild_status, "
" join_unlimited, join_cond1, join_cond2, createtime, modifytime "
"FROM `guild` WHERE idx > %d;",
{
last_idx
@ -298,9 +302,12 @@ void GuildMgr::LoadGuild(int instance_id, long long last_idx)
guild->set_guild_exp(a8::XValue(row[5]));
guild->set_guild_badge(a8::XValue(row[6]));
guild->set_guild_declaration(row[8]);
guild->set_guild_owner_id(row[9]);
guild->set_guild_owner_name(row[10]);
guild->set_guild_owner_avatar_url(row[11]);
guild->set_owner_id(row[9]);
guild->set_owner_name(row[10]);
guild->set_owner_avatar_url(row[11]);
guild->set_join_unlimited(a8::XValue(row[13]));
guild->set_join_cond1(a8::XValue(row[14]));
guild->set_join_cond2(a8::XValue(row[15]));
guild->set__gameid(a8::XValue(row[1]));
GuildMgr::Instance()->AddGuild(guild);
if (a8::XValue(row[0]).GetInt64() > last_idx) {
@ -344,7 +351,8 @@ void GuildMgr::RefreshGuild(long long guild_id)
conn,
"SELECT idx, gameid, guild_id, guild_name, guild_lv, guild_exp, guild_badge, guild_notice, "
" guild_declaration, owner_id, owner_name, owner_avatar_url, "
" creator_id, creator_name, creator_avatar_url, guild_status, createtime, modifytime "
" creator_id, creator_name, creator_avatar_url, guild_status, "
" join_unlimited, join_cond1, join_cond2, createtime, modifytime "
"FROM `guild` WHERE guild_id = %d;",
{
guild_id
@ -362,9 +370,12 @@ void GuildMgr::RefreshGuild(long long guild_id)
guild->set_guild_exp(a8::XValue(row[5]));
guild->set_guild_badge(a8::XValue(row[6]));
guild->set_guild_declaration(row[8]);
guild->set_guild_owner_id(row[9]);
guild->set_guild_owner_name(row[10]);
guild->set_guild_owner_avatar_url(row[11]);
guild->set_owner_id(row[9]);
guild->set_owner_name(row[10]);
guild->set_owner_avatar_url(row[11]);
guild->set_join_unlimited(a8::XValue(row[13]));
guild->set_join_cond1(a8::XValue(row[14]));
guild->set_join_cond2(a8::XValue(row[15]));
}
}
}

View File

@ -13,9 +13,12 @@ void TypeConvert::Convert(const cs::MFGuildBasic* guild_basic, a8::MutableXObjec
xobj->SetVal("guild_badge", guild_basic->guild_badge());
xobj->SetVal("member_num", guild_basic->member_num());
xobj->SetVal("guild_declareation", guild_basic->guild_declaration());
xobj->SetVal("guild_owner_id", guild_basic->guild_owner_id());
xobj->SetVal("guild_owner_name", guild_basic->guild_owner_name());
xobj->SetVal("guild_owner_avatar_url", guild_basic->guild_owner_avatar_url());
xobj->SetVal("owner_id", guild_basic->owner_id());
xobj->SetVal("owner_name", guild_basic->owner_name());
xobj->SetVal("owner_avatar_url", guild_basic->owner_avatar_url());
xobj->SetVal("join_unlimited", guild_basic->join_unlimited());
xobj->SetVal("join_cond1", guild_basic->join_cond1());
xobj->SetVal("join_cond2", guild_basic->join_cond2());
}
void TypeConvert::Convert(f8::JsonHttpRequest* request, cs::MFGuildBasic* guild_basic)
@ -27,7 +30,10 @@ void TypeConvert::Convert(f8::JsonHttpRequest* request, cs::MFGuildBasic* guild_
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());
guild_basic->set_guild_owner_id(request->request.At("owner_id")->AsXValue().GetString());
guild_basic->set_guild_owner_name(request->request.At("owner_name")->AsXValue().GetString());
guild_basic->set_guild_owner_avatar_url(request->request.At("owner_avatar_url")->AsXValue().GetString());
guild_basic->set_owner_id(request->request.At("owner_id")->AsXValue().GetString());
guild_basic->set_owner_name(request->request.At("owner_name")->AsXValue().GetString());
guild_basic->set_owner_avatar_url(request->request.At("owner_avatar_url")->AsXValue().GetString());
guild_basic->set_join_unlimited(request->request.At("join_unlimited")->AsXValue());
guild_basic->set_join_cond1(request->request.At("join_cond1")->AsXValue());
guild_basic->set_join_cond2(request->request.At("join_cond2")->AsXValue());
}

View File

@ -105,9 +105,12 @@ message MFGuildBasic
optional int32 guild_badge = 5; //
optional int32 member_num = 6; //
optional string guild_declaration = 7; //
optional string guild_owner_id = 8; //id
optional string guild_owner_name = 9; //
optional string guild_owner_avatar_url = 10; //
optional string owner_id = 8; //id
optional string owner_name = 9; //
optional string owner_avatar_url = 10; //
optional int32 join_unlimited = 11; //
optional int32 join_cond1 = 20; //1
optional int32 join_cond2 = 21; //2
optional int32 _gameid = 100; //gameid
}
@ -366,12 +369,16 @@ message CMGuildCreate
optional string guild_name = 1; //
optional int32 guild_badge = 2; //
optional string guild_declaration = 3; //
optional int32 join_unlimited = 4; //
optional int32 join_cond1 = 5; //1
optional int32 join_cond2 = 6; //2
}
//
message SMGuildCreate
{
optional int32 errcode = 1; //1: 2:
optional string errmsg = 2; //
optional int64 guild_id = 3; //id
}
//

View File

@ -108,6 +108,9 @@ CREATE TABLE `guild` (
`creator_avatar_url` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '公会创建者头像',
`guild_data` mediumblob COMMENT '公会数据',
`guild_status` int(11) NOT NULL DEFAULT '0' COMMENT '公会状态 0:新建(未确认) 1:已确认 2:已解散',
`join_unlimited` int(11) NOT NULL DEFAULT '0' COMMENT '不限制加入',
`join_cond1` int(11) NOT NULL DEFAULT '0' COMMENT '加入条件1',
`join_cond2` int(11) NOT NULL DEFAULT '0' COMMENT '加入条件2',
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
PRIMARY KEY (`idx`),