From 819b2973c423420c446dae09734aee1443ba7d03 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 8 Apr 2024 19:29:16 +0800 Subject: [PATCH] 1 --- server/imserver_new/common/types.go | 5 +-- server/imserver_new/constant/constant.go | 8 ++++ server/imserver_new/guild/guildmgr.go | 20 ++------- server/imserver_new/player/player.go | 53 ++++++++++++++++++++++++ 4 files changed, 66 insertions(+), 20 deletions(-) diff --git a/server/imserver_new/common/types.go b/server/imserver_new/common/types.go index 3f428493..fb9cccd1 100644 --- a/server/imserver_new/common/types.go +++ b/server/imserver_new/common/types.go @@ -97,12 +97,9 @@ type GuildMgr interface { AsyncLeave(string, func(int32, string, []string)) AsyncKickout(string, string, func(int32, string)) AsyncDisband(string, func(int32, string, []string)) - AsyncSetNotice(string, string, func(int32, string)) - AsyncSetAvatar(string, string, func(int32, string)) - AsyncSetName(string, string, func(int32, string)) - AsyncSetJoinCond(string, string, func(int32, string)) AsyncSearch(string, string, func(int32, string)) AsyncGetGuildLogs(string, string, func(int32, string)) + AsyncUpdateGuild(string, map[int32]string, func(int32, string)) } type CacheMgr interface { diff --git a/server/imserver_new/constant/constant.go b/server/imserver_new/constant/constant.go index edc14640..85b31615 100644 --- a/server/imserver_new/constant/constant.go +++ b/server/imserver_new/constant/constant.go @@ -35,6 +35,14 @@ const ( GAME_ID = 2006 ) +const ( + GUILD_UPDATE_FIELD_NOTICE = iota + GUILD_UPDATE_FIELD_AVATAR + GUILD_UPDATE_FIELD_NAME + GUILD_UPDATE_FIELD_COND_TYPE + GUILD_UPDATE_FIELD_COND_VALUE +) + const ( MEMBER_LOCK_KEY = "member:" GUILD_ID_LOCK_KEY = "guild_id:" diff --git a/server/imserver_new/guild/guildmgr.go b/server/imserver_new/guild/guildmgr.go index e8d170e7..e6aac509 100644 --- a/server/imserver_new/guild/guildmgr.go +++ b/server/imserver_new/guild/guildmgr.go @@ -582,22 +582,6 @@ func (this *guildMgr) AsyncDisband(accountId string, cb func(int32, string, []st }) } -func (this *guildMgr) AsyncSetNotice(string, string, func(int32, string)) { - -} - -func (this *guildMgr) AsyncSetAvatar(string, string, func(int32, string)) { - -} - -func (this *guildMgr) AsyncSetName(string, string, func(int32, string)) { - -} - -func (this *guildMgr) AsyncSetJoinCond(string, string, func(int32, string)) { - -} - func (this *guildMgr) AsyncSearch(string, string, func(int32, string)) { } @@ -606,6 +590,10 @@ func (this *guildMgr) AsyncGetGuildLogs(string, string, func(int32, string)) { } +func (this *guildMgr) AsyncUpdateGuild(string, map[int32]string, func(int32, string)) { + +} + func (this *guildMgr) asyncSetApplyStatus(accountId string, guildId string, status int32, cb func(error, int64, int64)) { f5.GetJsStyleDb().Update( diff --git a/server/imserver_new/player/player.go b/server/imserver_new/player/player.go index 0691a87b..3dc86deb 100644 --- a/server/imserver_new/player/player.go +++ b/server/imserver_new/player/player.go @@ -458,15 +458,68 @@ func (this *player) CMDisband(hdr *f5.MsgHdr, msg *cs.CMDisband) { } func (this *player) CMSetNotice(hdr *f5.MsgHdr, msg *cs.CMSetNotice) { + rspMsg := new(cs.SMSetNotice) + GetGuildMgr().AsyncUpdateGuild( + this.GetAccountId(), + map[int32]string{ + constant.GUILD_UPDATE_FIELD_NOTICE: msg.GetContent(), + }, + func (errCode int32, errMsg string) { + if errCode != 0 { + this.SendMsg(rspMsg.Err(errCode, errMsg)) + return + } + this.SendMsg(rspMsg) + }) } func (this *player) CMSetAvatar(hdr *f5.MsgHdr, msg *cs.CMSetAvatar) { + rspMsg := new(cs.SMSetAvatar) + GetGuildMgr().AsyncUpdateGuild( + this.GetAccountId(), + map[int32]string{ + constant.GUILD_UPDATE_FIELD_AVATAR: q5.ToString(msg.GetAvatar()), + }, + func (errCode int32, errMsg string) { + if errCode != 0 { + this.SendMsg(rspMsg.Err(errCode, errMsg)) + return + } + this.SendMsg(rspMsg) + }) } func (this *player) CMSetName(hdr *f5.MsgHdr, msg *cs.CMSetName) { + rspMsg := new(cs.SMSetName) + GetGuildMgr().AsyncUpdateGuild( + this.GetAccountId(), + map[int32]string{ + constant.GUILD_UPDATE_FIELD_NAME: q5.ToString(msg.GetName()), + }, + func (errCode int32, errMsg string) { + if errCode != 0 { + this.SendMsg(rspMsg.Err(errCode, errMsg)) + return + } + this.SendMsg(rspMsg) + }) } func (this *player) CMSetJoinCond(hdr *f5.MsgHdr, msg *cs.CMSetJoinCond) { + rspMsg := new(cs.SMSetJoinCond) + GetGuildMgr().AsyncUpdateGuild( + this.GetAccountId(), + map[int32]string{ + constant.GUILD_UPDATE_FIELD_COND_TYPE: q5.ToString(msg.GetJoinCond()), + constant.GUILD_UPDATE_FIELD_COND_VALUE: q5.ToString(msg.GetJoinCondValue()), + }, + func (errCode int32, errMsg string) { + if errCode != 0 { + this.SendMsg(rspMsg.Err(errCode, errMsg)) + return + } + this.SendMsg(rspMsg) + }) } func (this *player) CMGuildMembersList(hdr *f5.MsgHdr, msg *cs.CMGuildMembersList) {