save
This commit is contained in:
parent
f6730e9cde
commit
c2bfa892b9
@ -16,6 +16,18 @@ const (
|
|||||||
GAME_ID = 206
|
GAME_ID = 206
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// im server chat
|
||||||
|
const (
|
||||||
|
kCCBegin = iota
|
||||||
|
kCCWorld = 1
|
||||||
|
kCCPrivate = 2
|
||||||
|
kCCGuild = 3
|
||||||
|
kCCTeam = 4
|
||||||
|
kCCBigHorn = 5
|
||||||
|
kCCLoopMsg = 6
|
||||||
|
kCCEnd
|
||||||
|
)
|
||||||
|
|
||||||
// im server friend
|
// im server friend
|
||||||
const (
|
const (
|
||||||
MaxFriendMembers = 200
|
MaxFriendMembers = 200
|
||||||
@ -36,21 +48,11 @@ const (
|
|||||||
OnlineStatus = 1 // 在线状态 在线
|
OnlineStatus = 1 // 在线状态 在线
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
kCCBegin = iota
|
|
||||||
kCCWorld = 1
|
|
||||||
kCCPrivate = 2
|
|
||||||
kCCGuild = 3
|
|
||||||
kCCTeam = 4
|
|
||||||
kCCBigHorn = 5
|
|
||||||
kCCLoopMsg = 6
|
|
||||||
kCCEnd
|
|
||||||
)
|
|
||||||
|
|
||||||
// im server guild
|
// im server guild
|
||||||
const (
|
const (
|
||||||
RandomGuildCount = 10
|
RandomGuildCount = 10
|
||||||
MaxMembers = 30
|
MaxMembers = 30
|
||||||
|
MaxMembersViceLeader = 2
|
||||||
MaxPendingReqs = 10
|
MaxPendingReqs = 10
|
||||||
DefaultLogs = 20
|
DefaultLogs = 20
|
||||||
LogTypeApprove = 1 // 公会日志类型, 批准加入
|
LogTypeApprove = 1 // 公会日志类型, 批准加入
|
||||||
@ -105,21 +107,22 @@ const (
|
|||||||
ERR_CODE_SEARCH_NO_RESULT = 11016
|
ERR_CODE_SEARCH_NO_RESULT = 11016
|
||||||
|
|
||||||
// Guild
|
// Guild
|
||||||
ERR_CODE_GUILD_NO_EXISTS = 12001
|
ERR_CODE_GUILD_NO_EXISTS = 12001
|
||||||
ERR_CODE_JOINED_GUILD = 12002
|
ERR_CODE_JOINED_GUILD = 12002
|
||||||
ERR_CODE_CREATE_GUILD_FAIL = 12003
|
ERR_CODE_CREATE_GUILD_FAIL = 12003
|
||||||
ERR_CODE_APPLY_GUILD_FAIL = 12004
|
ERR_CODE_APPLY_GUILD_FAIL = 12004
|
||||||
ERR_CODE_GUILD_MEMBER_NO_EXISTS = 12005
|
ERR_CODE_GUILD_MEMBER_NO_EXISTS = 12005
|
||||||
ERR_CODE_GUILD_MEMBER_FULL = 12006
|
ERR_CODE_GUILD_MEMBER_FULL = 12006
|
||||||
ERR_CODE_GUILD_PENDING_REQUEST_NO_EXISTS = 12007
|
ERR_CODE_GUILD_PENDING_REQUEST_NO_EXISTS = 12007
|
||||||
ERR_CODE_GUILD_NO_LEADER_PERM = 12008
|
ERR_CODE_GUILD_NO_LEADER_PERM = 12008
|
||||||
ERR_CODE_GUILD_BLOCKED_LEADER = 12009
|
ERR_CODE_GUILD_BLOCKED_LEADER = 12009
|
||||||
ERR_CODE_GUILD_OPERATOR_MEMBER_NO_PERM = 12010
|
ERR_CODE_GUILD_OPERATOR_MEMBER_NO_PERM = 12010
|
||||||
ERR_CODE_GUILD_DISMISS_MEMBER_NO_PERM = 12011
|
ERR_CODE_GUILD_DISMISS_MEMBER_NO_PERM = 12011
|
||||||
ERR_CODE_CREATE_GUILD_DB_FAIL = 12013
|
ERR_CODE_CREATE_GUILD_DB_FAIL = 12013
|
||||||
ERR_CODE_CREATE_GUILD_MEMBER_DB_FAIL = 12014
|
ERR_CODE_CREATE_GUILD_MEMBER_DB_FAIL = 12014
|
||||||
ERR_CODE_UPDATE_GUILD_DB_FAIL = 12015
|
ERR_CODE_UPDATE_GUILD_DB_FAIL = 12015
|
||||||
ERR_CODE_UPDATE_GUILD_MEMBER_DB_FAIL = 12016
|
ERR_CODE_UPDATE_GUILD_MEMBER_DB_FAIL = 12016
|
||||||
ERR_CODE_UPDATE_GUILD_PENDING_REQUEST_DB_FAIL = 12017
|
ERR_CODE_UPDATE_GUILD_PENDING_REQUEST_DB_FAIL = 12017
|
||||||
ERR_CODE_REQUEST_PARAMS_ERROR = 12018
|
ERR_CODE_REQUEST_PARAMS_ERROR = 12018
|
||||||
|
ERR_CODE_GUILD_SETMEMBERLEVEL_VICE_LEADER_MAX_LIMIT = 12019
|
||||||
)
|
)
|
||||||
|
@ -46,6 +46,16 @@ func (g *Guild) GetMembersCount() int {
|
|||||||
return len(g.Members)
|
return len(g.Members)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (g *Guild) GetMembersViceLeaderCount() int {
|
||||||
|
count := 0
|
||||||
|
for _, member := range g.Members {
|
||||||
|
if member.Level == GuildMemberLevelViceLeader {
|
||||||
|
count++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return count
|
||||||
|
}
|
||||||
|
|
||||||
// GetMember 根据 AccountId 获取成员信息
|
// GetMember 根据 AccountId 获取成员信息
|
||||||
func (g *Guild) GetMember(accountId string) *GuildMember {
|
func (g *Guild) GetMember(accountId string) *GuildMember {
|
||||||
if member, exists := g.Members[accountId]; exists {
|
if member, exists := g.Members[accountId]; exists {
|
||||||
|
@ -524,7 +524,7 @@ func (gm *GuildMgr) DismissMember(operatorAccountId, accountId string, cb func(e
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SetMemberLevel 设置公会成员等级
|
// SetMemberLevel 设置公会成员等级
|
||||||
func (gm *GuildMgr) SetMemberLevel(operatorAccountId, accountId string, level int32, cb func(errCode int32, errMsg string)) {
|
func (gm *GuildMgr) SetMemberLevel(operatorAccountId, accountId string, newLevel int32, cb func(errCode int32, errMsg string)) {
|
||||||
// 干部, 精英, 副会长
|
// 干部, 精英, 副会长
|
||||||
guild := gm.GetGuildByAccountId(operatorAccountId)
|
guild := gm.GetGuildByAccountId(operatorAccountId)
|
||||||
if guild == nil {
|
if guild == nil {
|
||||||
@ -544,24 +544,26 @@ func (gm *GuildMgr) SetMemberLevel(operatorAccountId, accountId string, level in
|
|||||||
}
|
}
|
||||||
|
|
||||||
beforeLevel := member.Level
|
beforeLevel := member.Level
|
||||||
if member.Level == level {
|
if member.Level == newLevel {
|
||||||
cb(ERR_CODE_GUILD_OPERATOR_MEMBER_NO_PERM, "SetMemberLevel error")
|
cb(ERR_CODE_GUILD_OPERATOR_MEMBER_NO_PERM, "SetMemberLevel error")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
fields := [][]string{{"level", q5.ToString(level)}}
|
// 副会长上限2个
|
||||||
|
if newLevel == GuildMemberLevelViceLeader && guild.GetMembersViceLeaderCount() >= MaxMembersViceLeader {
|
||||||
|
cb(ERR_CODE_GUILD_SETMEMBERLEVEL_VICE_LEADER_MAX_LIMIT, "SetMemberLevel Vice leader max limit")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fields := [][]string{{"level", q5.ToString(newLevel)}}
|
||||||
gm.updateGuildMember(guild, member.AccountId, fields, func(err error) {
|
gm.updateGuildMember(guild, member.AccountId, fields, func(err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
cb(ERR_CODE_UPDATE_GUILD_MEMBER_DB_FAIL, err.Error())
|
cb(ERR_CODE_UPDATE_GUILD_MEMBER_DB_FAIL, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
member.Level = level
|
|
||||||
// 转让会长的操作
|
// 转让会长的操作
|
||||||
if level == GuildMemberLevelLeader {
|
if newLevel == GuildMemberLevelLeader {
|
||||||
operatorMember := guild.GetMember(operatorAccountId)
|
|
||||||
operatorMember.Level = GuildMemberLevelDefault
|
|
||||||
|
|
||||||
guild.LeaderId = member.AccountId
|
guild.LeaderId = member.AccountId
|
||||||
updateFields := [][]string{
|
updateFields := [][]string{
|
||||||
{"leader_account_id", q5.ToString(guild.LeaderId)},
|
{"leader_account_id", q5.ToString(guild.LeaderId)},
|
||||||
@ -571,19 +573,32 @@ func (gm *GuildMgr) SetMemberLevel(operatorAccountId, accountId string, level in
|
|||||||
cb(ERR_CODE_UPDATE_GUILD_DB_FAIL, err.Error())
|
cb(ERR_CODE_UPDATE_GUILD_DB_FAIL, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 新会长
|
|
||||||
newMemberFields := [][]string{{"level", q5.ToString(member.Level)}}
|
// 旧会长 -> 普通成员
|
||||||
gm.updateGuildMember(guild, member.AccountId, newMemberFields,
|
oldMember := guild.GetMember(operatorAccountId)
|
||||||
|
oldMemberFields := [][]string{{"level", q5.ToString(GuildMemberLevelDefault)}}
|
||||||
|
gm.updateGuildMember(guild, oldMember.AccountId, oldMemberFields,
|
||||||
func(err error) {
|
func(err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
cb(ERR_CODE_UPDATE_GUILD_MEMBER_DB_FAIL, err.Error())
|
cb(ERR_CODE_UPDATE_GUILD_MEMBER_DB_FAIL, err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
oldMember.Level = GuildMemberLevelDefault
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
logContent := fmt.Sprintf("SetMemberLevel[%d-%s-%s-%d-%d]", guild.GuildId, operatorAccountId, accountId, beforeLevel, level)
|
newMemberFields := [][]string{{"level", q5.ToString(newLevel)}}
|
||||||
|
gm.updateGuildMember(guild, member.AccountId, newMemberFields,
|
||||||
|
func(err error) {
|
||||||
|
if err != nil {
|
||||||
|
cb(ERR_CODE_UPDATE_GUILD_MEMBER_DB_FAIL, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
member.Level = newLevel
|
||||||
|
})
|
||||||
|
|
||||||
|
logContent := fmt.Sprintf("SetMemberLevel[%d-%s-%s-%d-%d]", guild.GuildId, operatorAccountId, accountId, beforeLevel, newLevel)
|
||||||
gm.WriteLog(guild.GuildId, accountId, LogTypeChangeLevel, logContent)
|
gm.WriteLog(guild.GuildId, accountId, LogTypeChangeLevel, logContent)
|
||||||
|
|
||||||
// Add event
|
// Add event
|
||||||
@ -591,7 +606,7 @@ func (gm *GuildMgr) SetMemberLevel(operatorAccountId, accountId string, level in
|
|||||||
prop["guild_id"] = q5.ToString(guild.GuildId)
|
prop["guild_id"] = q5.ToString(guild.GuildId)
|
||||||
prop["accountId"] = q5.ToString(accountId)
|
prop["accountId"] = q5.ToString(accountId)
|
||||||
prop["beforeMemberLevel"] = q5.ToString(beforeLevel)
|
prop["beforeMemberLevel"] = q5.ToString(beforeLevel)
|
||||||
prop["afterMemberLevel"] = q5.ToString(level)
|
prop["afterMemberLevel"] = q5.ToString(newLevel)
|
||||||
prop["members_count"] = q5.ToString(guild.GetMembersCount())
|
prop["members_count"] = q5.ToString(guild.GetMembersCount())
|
||||||
f5.GetTgLog().AddTrackLog(
|
f5.GetTgLog().AddTrackLog(
|
||||||
GAME_ID,
|
GAME_ID,
|
||||||
|
@ -43,6 +43,7 @@ func (this *HandlerMgr) init() {
|
|||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetName), PLAYER_HANDLER_ID)
|
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetName), PLAYER_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetAvatar), PLAYER_HANDLER_ID)
|
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetAvatar), PLAYER_HANDLER_ID)
|
||||||
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetJoinCond), PLAYER_HANDLER_ID)
|
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetJoinCond), PLAYER_HANDLER_ID)
|
||||||
|
cs.RegHandlerId(int(cs.CMMessageIdE__CMSetMemberLevel), PLAYER_HANDLER_ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HandlerMgr) unInit() {
|
func (this *HandlerMgr) unInit() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user