diff --git a/server/imserver_new/constant/constant.go b/server/imserver_new/constant/constant.go index 9533a5ae..4b014b06 100644 --- a/server/imserver_new/constant/constant.go +++ b/server/imserver_new/constant/constant.go @@ -28,6 +28,7 @@ const ( const ( MAX_PACKET_LEN = 1024 * 64 MAX_GUILD_TOP = 50 + MAX_GUILD_RECOMMEND = 50 ) const ( diff --git a/server/imserver_new/guild/guildmgr.go b/server/imserver_new/guild/guildmgr.go index b89bbdc1..ec4ea0cf 100644 --- a/server/imserver_new/guild/guildmgr.go +++ b/server/imserver_new/guild/guildmgr.go @@ -840,8 +840,15 @@ func (this *guildMgr) AsyncGetGuildRank(num int32, cb func(int32, string, []stri cb(0, "", guildIds) } -func (this *guildMgr) AsyncGetRecommendGuild(int32, func(int32, string, []string)) { - +func (this *guildMgr) AsyncGetRecommendGuild(num int32, cb func(int32, string, []string)) { + guildIds := []string{} + for _, m := range(this.idHash) { + q5.AppendSlice(&guildIds, m.guildId) + if len(guildIds) >= constant.MAX_GUILD_RECOMMEND { + break + } + } + cb(0, "", guildIds) } func (this *guildMgr) rearrangement() {