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->UpdateGuildData(param.param1, kGuildOwner);
hum->SaveToDB hum->SaveToDB
(a8::XParams() (a8::XParams()
.SetSender(hum->AccountId()), .SetSender(hum->AccountId())
.SetParam1(param.param1.GetInt64()),
[] (a8::XParams& param, const f8::DataSet* data_set) [] (a8::XParams& param, const f8::DataSet* data_set)
{ {
Player* hum = PlayerMgr::Instance()->GetPlayerByAccountId Player* hum = PlayerMgr::Instance()->GetPlayerByAccountId
(param.sender.GetString()); (param.sender.GetString());
if (hum) { if (hum) {
cs::SMGuildCreate respmsg; cs::SMGuildCreate respmsg;
respmsg.set_guild_id(param.param1);
hum->SendMsg(respmsg); 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_guild_badge(guild_badge_);
guild_basic->set_member_num(member_hash_.size()); guild_basic->set_member_num(member_hash_.size());
guild_basic->set_guild_declaration(guild_declaration_); guild_basic->set_guild_declaration(guild_declaration_);
guild_basic->set_guild_owner_id(owner_id_); guild_basic->set_owner_id(owner_id_);
guild_basic->set_guild_owner_name(owner_name_); guild_basic->set_owner_name(owner_name_);
guild_basic->set_guild_owner_avatar_url(owner_avatar_url_); guild_basic->set_owner_avatar_url(owner_avatar_url_);
} }
void Guild::FillGuildDB(ss::MFGuildDB& guild_pb) 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& creator_avatar_url,
const std::string& guild_data, const std::string& guild_data,
int guild_status, int guild_status,
int join_unlimited,
int join_cond1,
int join_cond2,
int createtime int createtime
) )
{ {
@ -683,6 +686,9 @@ Guild* Guild::CreateGuild(int gameid,
guild->creator_name_ = creator_name; guild->creator_name_ = creator_name;
guild->creator_avatar_url_ = creator_avatar_url; guild->creator_avatar_url_ = creator_avatar_url;
guild->guild_status_ = guild_status; guild->guild_status_ = guild_status;
guild->join_unlimited_ = join_unlimited;
guild->join_cond1_ = join_cond1;
guild->join_cond2_ = join_cond2;
guild->createtime_ = createtime; guild->createtime_ = createtime;
//guild_members //guild_members
guild->Deserialize(guild_data, guild_log); guild->Deserialize(guild_data, guild_log);

View File

@ -77,6 +77,9 @@ private:
std::string creator_name_; std::string creator_name_;
std::string creator_avatar_url_; std::string creator_avatar_url_;
int guild_status_ = 0; int guild_status_ = 0;
int join_unlimited_ = 0;
int join_cond1_ = 0;
int join_cond2_ = 0;
int createtime_ = 0; int createtime_ = 0;
a8::TimerAttacher timer_attacher_; a8::TimerAttacher timer_attacher_;
@ -101,6 +104,9 @@ public:
const std::string& creator_avatar_url, const std::string& creator_avatar_url,
const std::string& guild_data, const std::string& guild_data,
int guild_status, int guild_status,
int join_unlimited,
int join_cond1,
int join_cond2,
int createtime int createtime
); );
static void GenGuildData(Player* hum, long long guild_id, std::string& guild_data); 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[17], //creator_avatar_url
row[18], //guild_data row[18], //guild_data
a8::XValue(19), //guild_status 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; GuildMgr::Instance()->id_hash_[guild->GuildId()] = guild;
break; 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, " "SELECT gameid, guild_id, guild_name, guild_lv, guild_exp, guild_badge, guild_apply_num, "
" guild_members, guild_notice, guild_declaration, guild_log, " " guild_members, guild_notice, guild_declaration, guild_log, "
" owner_id, owner_name, owner_avatar_url, " " 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;", "WHERE guild_id=%d;",
{ {
guild_id 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_id", AccountId());
params->SetVal("owner_name", NickName()); params->SetVal("owner_name", NickName());
params->SetVal("owner_avatar_url", AvatarUrl()); 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 f8::HttpClientPool::Instance()->HttpGet
( (
a8::XParams() 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_guild_badge(xobj.At("guild_badge")->AsXValue());
guild_basic->set_member_num(xobj.At("member_num")->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_declaration(xobj.At("guild_declaration")->AsXValue().GetString());
guild_basic->set_guild_owner_id(xobj.At("guild_owner_id")->AsXValue().GetString()); guild_basic->set_owner_id(xobj.At("owner_id")->AsXValue().GetString());
guild_basic->set_guild_owner_name(xobj.At("guild_owner_name")->AsXValue().GetString()); guild_basic->set_owner_name(xobj.At("owner_name")->AsXValue().GetString());
guild_basic->set_guild_owner_avatar_url(xobj.At("guild_owner_avatar_url")->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) 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, " "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, " " guild_apply_num, guild_notice, guild_declaration, guild_log, owner_id, "
" owner_name, owner_avatar_url, creator_id, creator_name, creator_avatar_url, " " 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', " "VALUES(%d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', "
" '%s', '%s', '%s', '%s', '%s', " " '%s', '%s', '%s', '%s', '%s', "
" '%s', %d, %d, %d);", " '%s', %d, %d, %d, %d, %d, %d);",
{ {
guild->_gameid(), guild->_gameid(),
guild->guild_id(), guild->guild_id(),
@ -70,14 +70,17 @@ void GuildMgr::__GuildCreate(f8::JsonHttpRequest* request)
"", "",
guild->guild_declaration(), guild->guild_declaration(),
"", "",
guild->guild_owner_id(), guild->owner_id(),
guild->guild_owner_name(), guild->owner_name(),
guild->guild_owner_avatar_url(), guild->owner_avatar_url(),
guild->guild_owner_id(), guild->owner_id(),
guild->guild_owner_name(), guild->owner_name(),
guild->guild_owner_avatar_url(), guild->owner_avatar_url(),
guild_data, guild_data,
0, 0,
guild->join_unlimited(),
guild->join_cond1(),
guild->join_cond2(),
App::Instance()->nowtime, App::Instance()->nowtime,
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), *JsonDataMgr::Instance()->GetMysqlConf(instance_id),
"SELECT idx, gameid, guild_id, guild_name, guild_lv, guild_exp, guild_badge, guild_notice, " "SELECT idx, gameid, guild_id, guild_name, guild_lv, guild_exp, guild_badge, guild_notice, "
" guild_declaration, owner_id, owner_name, owner_avatar_url, " " 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;", "FROM `guild` WHERE idx > %d;",
{ {
last_idx 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_exp(a8::XValue(row[5]));
guild->set_guild_badge(a8::XValue(row[6])); guild->set_guild_badge(a8::XValue(row[6]));
guild->set_guild_declaration(row[8]); guild->set_guild_declaration(row[8]);
guild->set_guild_owner_id(row[9]); guild->set_owner_id(row[9]);
guild->set_guild_owner_name(row[10]); guild->set_owner_name(row[10]);
guild->set_guild_owner_avatar_url(row[11]); 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])); guild->set__gameid(a8::XValue(row[1]));
GuildMgr::Instance()->AddGuild(guild); GuildMgr::Instance()->AddGuild(guild);
if (a8::XValue(row[0]).GetInt64() > last_idx) { if (a8::XValue(row[0]).GetInt64() > last_idx) {
@ -344,7 +351,8 @@ void GuildMgr::RefreshGuild(long long guild_id)
conn, conn,
"SELECT idx, gameid, guild_id, guild_name, guild_lv, guild_exp, guild_badge, guild_notice, " "SELECT idx, gameid, guild_id, guild_name, guild_lv, guild_exp, guild_badge, guild_notice, "
" guild_declaration, owner_id, owner_name, owner_avatar_url, " " 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;", "FROM `guild` WHERE guild_id = %d;",
{ {
guild_id guild_id
@ -362,9 +370,12 @@ void GuildMgr::RefreshGuild(long long guild_id)
guild->set_guild_exp(a8::XValue(row[5])); guild->set_guild_exp(a8::XValue(row[5]));
guild->set_guild_badge(a8::XValue(row[6])); guild->set_guild_badge(a8::XValue(row[6]));
guild->set_guild_declaration(row[8]); guild->set_guild_declaration(row[8]);
guild->set_guild_owner_id(row[9]); guild->set_owner_id(row[9]);
guild->set_guild_owner_name(row[10]); guild->set_owner_name(row[10]);
guild->set_guild_owner_avatar_url(row[11]); 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("guild_badge", guild_basic->guild_badge());
xobj->SetVal("member_num", guild_basic->member_num()); xobj->SetVal("member_num", guild_basic->member_num());
xobj->SetVal("guild_declareation", guild_basic->guild_declaration()); xobj->SetVal("guild_declareation", guild_basic->guild_declaration());
xobj->SetVal("guild_owner_id", guild_basic->guild_owner_id()); xobj->SetVal("owner_id", guild_basic->owner_id());
xobj->SetVal("guild_owner_name", guild_basic->guild_owner_name()); xobj->SetVal("owner_name", guild_basic->owner_name());
xobj->SetVal("guild_owner_avatar_url", guild_basic->guild_owner_avatar_url()); 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) 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_lv(request->request.At("guild_lv")->AsXValue());
guild_basic->set_guild_exp(request->request.At("guild_exp")->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_declaration(request->request.At("guild_declaration")->AsXValue().GetString());
guild_basic->set_guild_owner_id(request->request.At("owner_id")->AsXValue().GetString()); guild_basic->set_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_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_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 guild_badge = 5; //
optional int32 member_num = 6; // optional int32 member_num = 6; //
optional string guild_declaration = 7; // optional string guild_declaration = 7; //
optional string guild_owner_id = 8; //id optional string owner_id = 8; //id
optional string guild_owner_name = 9; // optional string owner_name = 9; //
optional string guild_owner_avatar_url = 10; // 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 optional int32 _gameid = 100; //gameid
} }
@ -366,12 +369,16 @@ message CMGuildCreate
optional string guild_name = 1; // optional string guild_name = 1; //
optional int32 guild_badge = 2; // optional int32 guild_badge = 2; //
optional string guild_declaration = 3; // optional string guild_declaration = 3; //
optional int32 join_unlimited = 4; //
optional int32 join_cond1 = 5; //1
optional int32 join_cond2 = 6; //2
} }
// //
message SMGuildCreate message SMGuildCreate
{ {
optional int32 errcode = 1; //1: 2: optional int32 errcode = 1; //1: 2:
optional string errmsg = 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 '公会创建者头像', `creator_avatar_url` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '公会创建者头像',
`guild_data` mediumblob COMMENT '公会数据', `guild_data` mediumblob COMMENT '公会数据',
`guild_status` int(11) NOT NULL DEFAULT '0' COMMENT '公会状态 0:新建(未确认) 1:已确认 2:已解散', `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 '创建时间', `createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间', `modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
PRIMARY KEY (`idx`), PRIMARY KEY (`idx`),