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))
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))
AsyncSetGuildJob(string, string, int32, func(int32, 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)
if guild == nil {
cb(0, "")
cb(0, "", guild.guildId, guild.guildName)
return;
}
if accountId == targetId {
cb(0, "")
cb(0, "", guild.guildId, guild.guildName)
return;
}
if !guild.isOwner(accountId) {
cb(0, "")
cb(0, "", guild.guildId, guild.guildName)
return;
}
if guild.getMember(targetId) == nil {
cb(0, "")
cb(0, "", guild.guildId, guild.guildName)
return;
}
f5.NewLockAsyncTask(
@ -548,13 +549,13 @@ func (this *guildMgr) AsyncKickout(accountId string, targetId string, cb func(in
func (err error, lastInsertId int64, rowsAffected int64) {
if err != nil {
task.SetFail()
cb(500, "server internal error")
cb(500, "server internal error", "", "")
return
}
guild.delMember(targetId)
this.delGuildMember(targetId)
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(
this.GetAccountId(),
msg.GetDismissAccountId(),
func (errCode int32, errMsg string) {
func (errCode int32, errMsg string, guildId string, guildName string) {
if errCode != 0 {
this.SendMsg(rspMsg.Err(errCode, errMsg))
return
}
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)
}
})
}
})
}