diff --git a/server/imserver_new/guild/guild.go b/server/imserver_new/guild/guild.go index 68df6577..a904f619 100644 --- a/server/imserver_new/guild/guild.go +++ b/server/imserver_new/guild/guild.go @@ -104,41 +104,13 @@ func (this *guild) updateByKv(kv map[int32]string) { } func (this *guild) disband() { - { - f5.GetJsStyleDb().Update( - constant.FRIEND_DB, - "t_guild_member", - [][]string{ - {"deleted", "1"}, - }, - [][]string{ - {"guild_id", this.guildId}, - }, - func (err error, lastInsertId int64, rowsAffected int64) { - }) - } - { - f5.GetJsStyleDb().Update( - constant.FRIEND_DB, - "t_guild_apply", - [][]string{ - {"deleted", "1"}, - }, - [][]string{ - {"guild_id", this.guildId}, - }, - func (err error, lastInsertId int64, rowsAffected int64) { - }) - } - { - delete(_guildMgr.idHash, this.guildId) - delete(_guildMgr.nameHash, this.guildName) - this.traverseMembers( - func (m *member) bool { - delete(_guildMgr.memberIdHash, m.memberId) - return true - }) - } + model.Guild.Delete(this.guildId, + func (err error, lastInsertId int64, rowsAffected int64) { + }) + model.GuildApply.Clear(this.guildId, + func (err error, lastInsertId int64, rowsAffected int64) { + }) + _guildMgr.delGuild(this) } func (this *guild) AsyncFillMFGuild(pbGuild *cs.MFGuild, cb func(int32, string)) { diff --git a/server/imserver_new/guild/guildmgr.go b/server/imserver_new/guild/guildmgr.go index 25a7505f..3bfa64c8 100644 --- a/server/imserver_new/guild/guildmgr.go +++ b/server/imserver_new/guild/guildmgr.go @@ -887,3 +887,13 @@ func (this *guildMgr) addGuildMember(m *member) { func (this *guildMgr) delGuildMember(memberId string) { delete(this.memberIdHash, memberId) } + +func (this *guildMgr) delGuild(g *guild) { + g.traverseMembers( + func (m *member) bool { + this.delGuildMember(m.memberId) + return true + }) + delete(this.idHash, g.guildId) + delete(this.nameHash, g.guildName) +} diff --git a/server/imserver_new/model/guild_apply.go b/server/imserver_new/model/guild_apply.go index 02f99011..e54dc135 100644 --- a/server/imserver_new/model/guild_apply.go +++ b/server/imserver_new/model/guild_apply.go @@ -52,3 +52,18 @@ func (this *guildApply) SetStatus(guildId string, accountId string, status int32 }, cb) } + +func (this *guildApply) Clear(guildId string, + cb func (error, int64, int64)) { + f5.GetJsStyleDb().Update( + constant.FRIEND_DB, + "t_guild_apply", + [][]string{ + {"deleted", "1"}, + }, + [][]string{ + {"guild_id", guildId}, + }, + func (err error, lastInsertId int64, rowsAffected int64) { + }) +}