This commit is contained in:
aozhiwei 2024-04-12 13:20:21 +08:00
parent cc7b58078d
commit 530cb856c7
3 changed files with 28 additions and 9 deletions

View File

@ -92,7 +92,7 @@ type GuildMgr interface {
AsyncGetRecommendGuild(int32, func(int32, string, []string)) AsyncGetRecommendGuild(int32, func(int32, string, []string))
AsyncLeave(string, func(int32, string, []string)) AsyncLeave(string, func(int32, string, []string))
AsyncKickout(string, string, func(int32, string)) AsyncKickout(string, string, func(int32, string, string, string))
AsyncDisband(string, func(int32, string, []string)) AsyncDisband(string, func(int32, string, []string))
AsyncSetGuildJob(string, string, int32, func(int32, string)) AsyncSetGuildJob(string, string, int32, func(int32, string))
AsyncSearch(int64, string, func(int32, string, int64, []string)) AsyncSearch(int64, string, func(int32, string, int64, []string))

View File

@ -518,22 +518,23 @@ func (this *guildMgr) AsyncSetGuildJob(accountId string, targetId string, guildJ
}) })
} }
func (this *guildMgr) AsyncKickout(accountId string, targetId string, cb func(int32, string)) { func (this *guildMgr) AsyncKickout(accountId string, targetId string,
cb func(int32, string, string, string)) {
guild := this.internalGetGuildByAccountId(accountId) guild := this.internalGetGuildByAccountId(accountId)
if guild == nil { if guild == nil {
cb(0, "") cb(0, "", guild.guildId, guild.guildName)
return; return;
} }
if accountId == targetId { if accountId == targetId {
cb(0, "") cb(0, "", guild.guildId, guild.guildName)
return; return;
} }
if !guild.isOwner(accountId) { if !guild.isOwner(accountId) {
cb(0, "") cb(0, "", guild.guildId, guild.guildName)
return; return;
} }
if guild.getMember(targetId) == nil { if guild.getMember(targetId) == nil {
cb(0, "") cb(0, "", guild.guildId, guild.guildName)
return; return;
} }
f5.NewLockAsyncTask( f5.NewLockAsyncTask(
@ -548,13 +549,13 @@ func (this *guildMgr) AsyncKickout(accountId string, targetId string, cb func(in
func (err error, lastInsertId int64, rowsAffected int64) { func (err error, lastInsertId int64, rowsAffected int64) {
if err != nil { if err != nil {
task.SetFail() task.SetFail()
cb(500, "server internal error") cb(500, "server internal error", "", "")
return return
} }
guild.delMember(targetId) guild.delMember(targetId)
this.delGuildMember(targetId) this.delGuildMember(targetId)
task.SetSucc() task.SetSucc()
cb(0, "") cb(0, "", guild.guildId, guild.guildName)
}) })
}) })
} }

View File

@ -574,12 +574,30 @@ func (this *player) CMDismissMember(hdr *f5.MsgHdr, msg *cs.CMDismissMember) {
GetGuildMgr().AsyncKickout( GetGuildMgr().AsyncKickout(
this.GetAccountId(), this.GetAccountId(),
msg.GetDismissAccountId(), msg.GetDismissAccountId(),
func (errCode int32, errMsg string) { func (errCode int32, errMsg string, guildId string, guildName string) {
if errCode != 0 { if errCode != 0 {
this.SendMsg(rspMsg.Err(errCode, errMsg)) this.SendMsg(rspMsg.Err(errCode, errMsg))
return return
} }
this.SendMsg(rspMsg) this.SendMsg(rspMsg)
{
pbUsers := []*cs.MFUser{}
GetCacheMgr().AsyncGetUsersAndFillMFUser(
[]string{
msg.GetDismissAccountId(),
},
&pbUsers,
func (errCode int32, errMsg string) {
if errCode == 0 && len(pbUsers) > 0 {
notifyMsg := new(cs.SMDismissMemberNotify)
//notifyMsg.GuildId = proto.Int64(q5.ToInt64(guildId))
//notifyMsg.Name = proto.String(guildName)
notifyMsg.AccountId = proto.String(pbUsers[0].GetAccountId())
notifyMsg.Username = proto.String(pbUsers[0].GetUsername())
GetGuildMgr().NotifyGuildMsg(guildId, notifyMsg)
}
})
}
}) })
} }