diff --git a/server/imserver_new/common/types.go b/server/imserver_new/common/types.go index d096469f..be4a2f5c 100644 --- a/server/imserver_new/common/types.go +++ b/server/imserver_new/common/types.go @@ -85,7 +85,7 @@ type GuildMgr interface { AsyncApplyJoin(string, string, func(int32, string)) AsyncAcceptApply(string, string, func(int32, string)) AsyncRejectApply(string, string, func(int32, string)) - AsyncLeave(string, string, func(int32, string)) + AsyncLeave(string, func(int32, string)) AsyncKickout(string, string, func(int32, string)) AsyncDisband(string, string, func(int32, string)) AsyncSetNotice(string, string, func(int32, string)) diff --git a/server/imserver_new/go.mod b/server/imserver_new/go.mod index 87090da6..f0859512 100644 --- a/server/imserver_new/go.mod +++ b/server/imserver_new/go.mod @@ -1,4 +1,4 @@ -module imserver +module imserver_new go 1.20 diff --git a/server/imserver_new/guild/guildmgr.go b/server/imserver_new/guild/guildmgr.go index e5956754..9bcef665 100644 --- a/server/imserver_new/guild/guildmgr.go +++ b/server/imserver_new/guild/guildmgr.go @@ -42,7 +42,7 @@ func (this *guildMgr) loadGuild() { f5.GetSysLog().Info("loadGuild begin") lastIdx := f5.GetJsStyleDb().SyncBatchLoadFullTable( constant.FRIEND_DB, - "SELECT * FROM t_guild idx > %d AND deleted = 0", + "SELECT * FROM t_guild WHERE idx > %d AND deleted = 0", func (ds *f5.DataSet) { p := newGuild() this.idHash[p.guildId] = p @@ -61,7 +61,7 @@ func (this *guildMgr) loadGuildMember() { f5.GetSysLog().Info("loadGuildMember begin") lastIdx := f5.GetJsStyleDb().SyncBatchLoadFullTable( constant.FRIEND_DB, - "SELECT * FROM t_guild_member idx > %d AND deleted = 0", + "SELECT * FROM t_guild_member WHERE idx > %d AND deleted = 0", func (ds *f5.DataSet) { guildId := ds.GetByName("guild_id") memberId := ds.GetByName("member_id") @@ -397,12 +397,24 @@ func (this *guildMgr) AsyncRejectApply(accountId string, targetId string, }) } -func (this *guildMgr) AsyncLeave(string, string, func(int32, string)) { - +func (this *guildMgr) AsyncLeave(accountId string, cb func(int32, string)) { + guild := this.internalGetGuildByAccountId(accountId) + if guild == nil { + cb(0, "") + return; + } } -func (this *guildMgr) AsyncKickout(string, string, func(int32, string)) { - +func (this *guildMgr) AsyncKickout(accountId string, targetId string, cb func(int32, string)) { + guild := this.internalGetGuildByAccountId(accountId) + if guild == nil { + cb(0, "") + return; + } + if !guild.isOwner(accountId) { + cb(0, "") + return; + } } func (this *guildMgr) AsyncDisband(string, string, func(int32, string)) {