save
This commit is contained in:
parent
8b94922a4b
commit
6b9bcbaed1
@ -213,13 +213,13 @@ func (gm *GuildMgr) Approve(operatorAccountId, accountId string, cb func(errCode
|
||||
}
|
||||
|
||||
newMember := &GuildMember{accountId: accountId, level: GuildMemberLevelDefault}
|
||||
guild.AddMember(newMember)
|
||||
|
||||
gm.upsertGuildMember(guildId, newMember, func(err error) {
|
||||
if err != nil {
|
||||
cb(1, "xxx")
|
||||
return
|
||||
}
|
||||
guild.AddMember(newMember)
|
||||
gm.AddUserGuild(accountId, guildId)
|
||||
gm.updatePendingReqs(guildId, accountId, PendingReqIsJoinGuildStatusJoined, func(err error) {
|
||||
logContent := fmt.Sprintf("Approve[operator:%s]", operatorAccountId)
|
||||
gm.WriteLog(guildId, accountId, LogTypeApprove, logContent)
|
||||
@ -267,10 +267,13 @@ func (gm *GuildMgr) Reject(operatorAccountId, accountId string, cb func(errCode
|
||||
// JoinGuild 直接加入公会
|
||||
func (gm *GuildMgr) JoinGuild(guild *Guild, accountId string) {
|
||||
newMember := GuildMember{accountId: accountId, level: GuildMemberLevelDefault}
|
||||
guild.AddMember(&newMember)
|
||||
guildId := guild.guildId
|
||||
gm.upsertGuildMember(guildId, &newMember,
|
||||
func(err error) {
|
||||
if err != nil {
|
||||
guild.AddMember(&newMember)
|
||||
gm.AddUserGuild(accountId, guildId)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -288,15 +291,19 @@ func (gm *GuildMgr) LeaveGuild(accountId string, cb func(errCode int32, errMsg s
|
||||
cb(1, "XXX")
|
||||
}
|
||||
|
||||
guild.RemoveMember(accountId)
|
||||
fields := [][]string{{"is_leave_guild", q5.ToString(1)}}
|
||||
gm.updateGuildMember(guild, member.accountId, fields,
|
||||
func(err error) {
|
||||
if err != nil {
|
||||
cb(1, err.Error())
|
||||
}
|
||||
|
||||
guild.RemoveMember(accountId)
|
||||
gm.RemoveUserGuild(accountId)
|
||||
// Add logs
|
||||
logContent := fmt.Sprintf("LeaveGuild[%d-%s]", guild.guildId, accountId)
|
||||
gm.WriteLog(guild.guildId, accountId, LogTypeLeave, logContent)
|
||||
cb(0, "")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -330,10 +337,17 @@ func (gm *GuildMgr) DismissMember(operatorAccountId, accountId string, cb func(e
|
||||
if dismissMember.level <= operatorMember.level {
|
||||
cb(1, "XXX")
|
||||
}
|
||||
guild.RemoveMember(accountId)
|
||||
|
||||
fields := [][]string{{"is_leave_guild", q5.ToString(1)}}
|
||||
gm.updateGuildMember(guild, dismissMember.accountId, fields, func(err error) {
|
||||
if err != nil {
|
||||
cb(1, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
guild.RemoveMember(accountId)
|
||||
gm.RemoveUserGuild(accountId)
|
||||
// Add logs
|
||||
logContent := fmt.Sprintf("DismissMember[%d-%s-%s]", guild.guildId, operatorAccountId, accountId)
|
||||
gm.WriteLog(guild.guildId, accountId, LogTypeDismiss, logContent)
|
||||
cb(0, "")
|
||||
@ -370,9 +384,14 @@ func (gm *GuildMgr) PromoteMember(operatorAccountId, accountId string, cb func(e
|
||||
cb(1, "XXX")
|
||||
}
|
||||
|
||||
member.level = GuildMemberLevelViceLeader
|
||||
fields := [][]string{{"level", q5.ToString(GuildMemberLevelViceLeader)}}
|
||||
gm.updateGuildMember(guild, member.accountId, fields, func(err error) {
|
||||
if err != nil {
|
||||
cb(1, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
member.level = GuildMemberLevelViceLeader
|
||||
logContent := fmt.Sprintf("PromoteMember[%d-%s-%s]", guild.guildId, operatorAccountId, accountId)
|
||||
gm.WriteLog(guild.guildId, accountId, LogTypeDismiss, logContent)
|
||||
cb(0, "")
|
||||
@ -404,9 +423,14 @@ func (gm *GuildMgr) DemoteMember(operatorAccountId, accountId string, cb func(er
|
||||
cb(1, "XXX")
|
||||
}
|
||||
|
||||
member.level = GuildMemberLevelDefault
|
||||
fields := [][]string{{"level", q5.ToString(GuildMemberLevelDefault)}}
|
||||
gm.updateGuildMember(guild, member.accountId, fields, func(err error) {
|
||||
if err != nil {
|
||||
cb(1, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
member.level = GuildMemberLevelDefault
|
||||
logContent := fmt.Sprintf("DemoteMember[%d-%s-%s]", guild.guildId, operatorAccountId, accountId)
|
||||
gm.WriteLog(guild.guildId, accountId, LogTypeDismiss, logContent)
|
||||
cb(0, "")
|
||||
@ -438,10 +462,12 @@ func (gm *GuildMgr) Disband(operatorAccountId string, cb func(errCode int32, err
|
||||
logContent := fmt.Sprintf("GuildDisbanded[%d-%s]", guildId, guildName)
|
||||
gm.WriteLog(guildId, operatorAccountId, LogTypeDisband, logContent)
|
||||
|
||||
guild.members = nil
|
||||
gm.guilds[guildId] = nil
|
||||
gm.guildLogs[guildId] = nil
|
||||
// delete user guilds
|
||||
for _, member := range guild.members {
|
||||
delete(gm.userGuilds, member.accountId)
|
||||
}
|
||||
|
||||
guild.members = nil
|
||||
delete(gm.guilds, guildId)
|
||||
delete(gm.guildLogs, guildId)
|
||||
gm.RemoveGuild(guildId)
|
||||
@ -462,15 +488,16 @@ func (gm *GuildMgr) SetNotice(operatorAccountId string, notice *string, cb func(
|
||||
cb(1, "XXX")
|
||||
}
|
||||
|
||||
guild.SetNotice(notice)
|
||||
updateFields := [][]string{
|
||||
{"notice", *notice},
|
||||
}
|
||||
gm.updateGuild(guild, updateFields, func(err error) {
|
||||
if err == nil {
|
||||
cb(0, "")
|
||||
}
|
||||
if err != nil {
|
||||
cb(1, err.Error())
|
||||
return
|
||||
}
|
||||
guild.SetNotice(notice)
|
||||
cb(0, "")
|
||||
})
|
||||
}
|
||||
|
||||
@ -545,6 +572,14 @@ func (gm *GuildMgr) ExistsGuild(guildId int64) bool {
|
||||
return ok
|
||||
}
|
||||
|
||||
func (gm *GuildMgr) AddUserGuild(accountId string, guildId int64) {
|
||||
gm.userGuilds[accountId] = guildId
|
||||
}
|
||||
|
||||
func (gm *GuildMgr) RemoveUserGuild(accountId string) {
|
||||
delete(gm.userGuilds, accountId)
|
||||
}
|
||||
|
||||
func (gm *GuildMgr) AddGuild(guildId int64, guild *Guild) {
|
||||
if _, exists := gm.guilds[guildId]; !exists {
|
||||
gm.guilds[guildId] = guild
|
||||
|
Loading…
x
Reference in New Issue
Block a user