1
This commit is contained in:
parent
279bf87756
commit
f31a32e56b
@ -194,7 +194,10 @@ void Guild::_CMGuildAgree(f8::MsgHdr& hdr, const cs::CMGuildAgree& msg)
|
||||
respmsg);
|
||||
return;
|
||||
}
|
||||
if (!(sender->guild_job == kGuildOwner || sender->guild_job == kGuildAdmin)) {
|
||||
if (!(
|
||||
GetMemberJob(sender->account_id) == kGuildOwner ||
|
||||
GetMemberJob(sender->account_id) == kGuildAdmin)
|
||||
) {
|
||||
SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够");
|
||||
respmsg.set_errcode(3);
|
||||
respmsg.set_errmsg("权限不够");
|
||||
@ -236,7 +239,10 @@ void Guild::_CMGuildKick(f8::MsgHdr& hdr, const cs::CMGuildKick& msg)
|
||||
respmsg);
|
||||
return;
|
||||
}
|
||||
if (!(sender->guild_job == kGuildOwner || sender->guild_job == kGuildAdmin)) {
|
||||
if (!(
|
||||
GetMemberJob(sender->account_id) == kGuildOwner ||
|
||||
GetMemberJob(sender->account_id) == kGuildAdmin)
|
||||
) {
|
||||
SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够");
|
||||
respmsg.set_errcode(3);
|
||||
respmsg.set_errmsg("权限不够");
|
||||
@ -271,7 +277,7 @@ void Guild::_CMGuildQuit(f8::MsgHdr& hdr, const cs::CMGuildQuit& msg)
|
||||
respmsg);
|
||||
GuildMember* sender = GetMember(forward_msg->context().user_info().base_data().account_id());
|
||||
if (sender) {
|
||||
if (sender->guild_job != kGuildOwner) {
|
||||
if (GetMemberJob(sender->account_id) != kGuildOwner) {
|
||||
RemoveMember(sender->account_id,
|
||||
sender->account_id,
|
||||
kGuildQuit);
|
||||
@ -286,7 +292,7 @@ void Guild::_CMGuildDismiss(f8::MsgHdr& hdr, const cs::CMGuildDismiss& msg)
|
||||
cs::SMGuildDismiss respmsg;
|
||||
GuildMember* sender = GetMember(forward_msg->context().user_info().base_data().account_id());
|
||||
if (sender) {
|
||||
if (sender->guild_job != kGuildOwner) {
|
||||
if (GetMemberJob(sender->account_id) != kGuildOwner) {
|
||||
SendErrorMsg(hdr.socket_handle, forward_msg->context(), "权限不够");
|
||||
respmsg.set_errcode(3);
|
||||
respmsg.set_errmsg("权限不够");
|
||||
@ -337,7 +343,10 @@ void Guild::_CMGuildMemberList(f8::MsgHdr& hdr, const cs::CMGuildMemberList& msg
|
||||
break;
|
||||
}
|
||||
auto p = respmsg.add_member_list();
|
||||
TypeConvert::Convert(guild_id_, *sorted_members_[i], *p);
|
||||
TypeConvert::Convert(guild_id_,
|
||||
GetMemberJob(sorted_members_[i]->account_id),
|
||||
*sorted_members_[i],
|
||||
*p);
|
||||
}
|
||||
GuildMgr::Instance()->ForwardGuildSMMsg(hdr.socket_handle,
|
||||
forward_msg->context(),
|
||||
@ -489,7 +498,10 @@ void Guild::FillGuildDB(ss::MFGuildDB& guild_pb)
|
||||
{
|
||||
for (auto& pair : member_hash_) {
|
||||
auto p = guild_pb.add_members();
|
||||
TypeConvert::Convert(guild_id_, *pair.second, *p->mutable_base_data());
|
||||
TypeConvert::Convert(guild_id_,
|
||||
GetMemberJob(pair.second->account_id),
|
||||
*pair.second,
|
||||
*p->mutable_base_data());
|
||||
}
|
||||
}
|
||||
|
||||
@ -500,7 +512,7 @@ void Guild::SerializeMembers(std::string& guild_members)
|
||||
a8::MutableXObject* member_xobj = a8::MutableXObject::NewObject();
|
||||
member_xobj->SetVal("account_id", pair.second->account_id);
|
||||
member_xobj->SetVal("nickname", pair.second->nickname);
|
||||
member_xobj->SetVal("guild_job", pair.second->guild_job);
|
||||
member_xobj->SetVal("guild_job", GetMemberJob(pair.second->account_id));
|
||||
members_xobj->Push(*member_xobj);
|
||||
delete member_xobj;
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ public:
|
||||
void _CMGuildMemberFire(f8::MsgHdr& hdr, const cs::CMGuildMemberFire& msg);
|
||||
|
||||
long long GuildId() { return guild_id_; }
|
||||
int GetMemberJob(const std::string& account_id) { return 0;};
|
||||
|
||||
private:
|
||||
bool IsFull();
|
||||
|
@ -95,7 +95,8 @@ void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, BaseUserData
|
||||
base_data.base_data_version = base_data_pb.base_data_version();
|
||||
}
|
||||
|
||||
void TypeConvert::Convert(long long guild_id, const GuildMember& member, ss::MFBaseUserDataDB& base_data_pb)
|
||||
void TypeConvert::Convert(long long guild_id, int guild_job,
|
||||
const GuildMember& member, ss::MFBaseUserDataDB& base_data_pb)
|
||||
{
|
||||
base_data_pb.set_account_id(member.account_id);
|
||||
base_data_pb.set_nickname(member.nickname);
|
||||
@ -103,14 +104,15 @@ void TypeConvert::Convert(long long guild_id, const GuildMember& member, ss::MFB
|
||||
base_data_pb.set_sex(member.sex);
|
||||
base_data_pb.set_last_login_time(member.last_login_time);
|
||||
base_data_pb.set_guild_id(guild_id);
|
||||
base_data_pb.set_guild_job(member.guild_job);
|
||||
base_data_pb.set_guild_job(guild_job);
|
||||
base_data_pb.set_user_value1(member.user_value1);
|
||||
base_data_pb.set_user_value2(member.user_value2);
|
||||
base_data_pb.set_user_value3(member.user_value3);
|
||||
base_data_pb.set_base_data_version(member.data_version1);
|
||||
}
|
||||
|
||||
void TypeConvert::Convert(long long guild_id, const GuildMember& member, cs::MFBaseUserData& base_data_pb)
|
||||
void TypeConvert::Convert(long long guild_id, int guild_job,
|
||||
const GuildMember& member, cs::MFBaseUserData& base_data_pb)
|
||||
{
|
||||
base_data_pb.set_account_id(member.account_id);
|
||||
base_data_pb.set_nickname(member.nickname);
|
||||
@ -118,7 +120,7 @@ void TypeConvert::Convert(long long guild_id, const GuildMember& member, cs::MFB
|
||||
base_data_pb.set_sex(member.sex);
|
||||
base_data_pb.set_last_login_time(member.last_login_time);
|
||||
base_data_pb.set_guild_id(guild_id);
|
||||
base_data_pb.set_guild_job(member.guild_job);
|
||||
base_data_pb.set_guild_job(guild_job);
|
||||
base_data_pb.set_user_value1(member.user_value1);
|
||||
base_data_pb.set_user_value2(member.user_value2);
|
||||
base_data_pb.set_user_value3(member.user_value3);
|
||||
@ -132,7 +134,6 @@ void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, GuildMember&
|
||||
member.avatar_url = base_data_pb.avatar_url();
|
||||
member.sex = base_data_pb.sex();
|
||||
member.last_login_time = base_data_pb.last_login_time();
|
||||
member.guild_job = base_data_pb.guild_job();
|
||||
member.user_value1 = base_data_pb.user_value1();
|
||||
member.user_value2 = base_data_pb.user_value2();
|
||||
member.user_value3 = base_data_pb.user_value3();
|
||||
@ -146,7 +147,6 @@ void TypeConvert::Convert(const cs::MFBaseUserData& base_data_pb, GuildMember& m
|
||||
member.avatar_url = base_data_pb.avatar_url();
|
||||
member.sex = base_data_pb.sex();
|
||||
member.last_login_time = base_data_pb.last_login_time();
|
||||
member.guild_job = base_data_pb.guild_job();
|
||||
member.user_value1 = base_data_pb.user_value1();
|
||||
member.user_value2 = base_data_pb.user_value2();
|
||||
member.user_value3 = base_data_pb.user_value3();
|
||||
|
@ -30,9 +30,11 @@ class TypeConvert
|
||||
static void Convert(const BaseUserData& base_data, ss::MFBaseUserDataDB& base_data_pb);
|
||||
static void Convert(const ss::MFBaseUserDataDB& base_data_pb, BaseUserData& base_data);
|
||||
|
||||
static void Convert(long long guild_id, const GuildMember& member, ss::MFBaseUserDataDB& base_data_pb);
|
||||
static void Convert(long long guild_id, int guild_job,
|
||||
const GuildMember& member, ss::MFBaseUserDataDB& base_data_pb);
|
||||
static void Convert(const ss::MFBaseUserDataDB& base_data_pb, GuildMember& member);
|
||||
static void Convert(long long guild_id, const GuildMember& member, cs::MFBaseUserData& base_data_pb);
|
||||
static void Convert(long long guild_id, int guild_job,
|
||||
const GuildMember& member, cs::MFBaseUserData& base_data_pb);
|
||||
static void Convert(const cs::MFBaseUserData& base_data_pb, GuildMember& member);
|
||||
|
||||
static void Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data);
|
||||
|
@ -88,7 +88,6 @@ struct RoleData
|
||||
|
||||
struct GuildMember
|
||||
{
|
||||
int guild_job = 0;
|
||||
std::string account_id;
|
||||
std::string nickname;
|
||||
std::string avatar_url;
|
||||
|
@ -116,7 +116,8 @@ CREATE TABLE `guild` (
|
||||
PRIMARY KEY (`idx`),
|
||||
UNIQUE KEY `guild_id` (`guild_id`),
|
||||
KEY `owner_id` (`owner_id`),
|
||||
KEY `creator_id` (`creator_id`)
|
||||
KEY `creator_id` (`creator_id`),
|
||||
KEY `modifytime` (`modifytime`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
|
Loading…
x
Reference in New Issue
Block a user