Add 踢出成员
This commit is contained in:
parent
e5adb3e3d0
commit
5f4c6ffe63
@ -206,12 +206,19 @@ func (gm *GuildMgr) insertGuildMember(guildId int64, member *GuildMember) {
|
||||
{"guild_id", q5.ToString(guildId)},
|
||||
{"account_id", member.AccountId},
|
||||
{"level", q5.ToString(member.Level)},
|
||||
{"is_leave_guild", "0"},
|
||||
}
|
||||
f5.GetJsStyleDb().Replace(
|
||||
FRIEND_DB,
|
||||
"t_guild_members",
|
||||
fields,
|
||||
func(error, int64, int64) {},
|
||||
func(err error, lastInsertId int64, rowsAffected int64) {
|
||||
if err != nil {
|
||||
fmt.Printf("error:%v\n", err)
|
||||
}
|
||||
fmt.Printf("lastInsertId:%d\n", lastInsertId)
|
||||
fmt.Printf("rowsAffected:%d\n", rowsAffected)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
@ -231,6 +238,12 @@ func (gm *GuildMgr) updateGuildMember(g *Guild, fields [][]string, newWhere []st
|
||||
"t_guild_members",
|
||||
fields,
|
||||
where,
|
||||
func(error, int64, int64) {},
|
||||
func(err error, lastInsertId int64, rowsAffected int64) {
|
||||
if err != nil {
|
||||
fmt.Printf("error:%v\n", err)
|
||||
}
|
||||
fmt.Printf("lastInsertId:%d\n", lastInsertId)
|
||||
fmt.Printf("rowsAffected:%d\n", rowsAffected)
|
||||
},
|
||||
)
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ func (gm *GuildMgr) ApplyToGuild(guildId int64, applicantAccountId string) error
|
||||
return nil
|
||||
}
|
||||
|
||||
// Approve 批准申请加入公会
|
||||
// Approve 同意申请者加入公会
|
||||
func (gm *GuildMgr) Approve(guildId int64, operatorAccountId, accountId string) error {
|
||||
guild, exists := gm.Guilds[guildId]
|
||||
if !exists {
|
||||
@ -125,7 +125,7 @@ func (gm *GuildMgr) Approve(guildId int64, operatorAccountId, accountId string)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Reject 拒绝申请加入公会
|
||||
// Reject 拒绝申请者加入公会
|
||||
func (gm *GuildMgr) Reject(guildId int64, applicantAccountId string) error {
|
||||
_, exists := gm.pendingReqs[guildId]
|
||||
if !exists {
|
||||
@ -140,7 +140,7 @@ func (gm *GuildMgr) Reject(guildId int64, applicantAccountId string) error {
|
||||
}
|
||||
|
||||
// JoinGuild 可直接加入公会
|
||||
//func (gm *GuildMgr) JoinGuild(guildId int64, memberID string) error {
|
||||
//func (gm *GuildMgr) JoinGuild(guildId int64, accountId string) error {
|
||||
// guild, exists := gm.Guilds[guildId]
|
||||
// if !exists {
|
||||
// return fmt.Errorf("guild not found")
|
||||
@ -150,28 +150,28 @@ func (gm *GuildMgr) Reject(guildId int64, applicantAccountId string) error {
|
||||
// return fmt.Errorf("guild is full")
|
||||
// }
|
||||
//
|
||||
// newMember := GuildMember{AccountId: memberID, Level: 3}
|
||||
// newMember := GuildMember{AccountId: accountId, Level: 3}
|
||||
// guild.Members = append(guild.Members, newMember)
|
||||
// return nil
|
||||
//}
|
||||
|
||||
// LeaveGuild 离开公会
|
||||
func (gm *GuildMgr) LeaveGuild(guildId int64, memberID string) error {
|
||||
func (gm *GuildMgr) LeaveGuild(guildId int64, accountId string) error {
|
||||
guild, exists := gm.Guilds[guildId]
|
||||
if !exists {
|
||||
return fmt.Errorf("guild not found")
|
||||
}
|
||||
|
||||
if guild.LeaderId == memberID {
|
||||
if guild.LeaderId == accountId {
|
||||
return fmt.Errorf("leader not leave guild")
|
||||
}
|
||||
|
||||
member, err := guild.GetMember(memberID)
|
||||
member, err := guild.GetMember(accountId)
|
||||
if err != nil {
|
||||
return fmt.Errorf("member not found in the guild")
|
||||
}
|
||||
|
||||
_ = guild.RemoveMember(memberID)
|
||||
_ = guild.RemoveMember(accountId)
|
||||
fields := [][]string{{"is_leave_guild", q5.ToString(1)}}
|
||||
where := []string{"account_id", q5.ToString(member.AccountId)}
|
||||
gm.updateGuildMember(guild, fields, where)
|
||||
@ -180,25 +180,28 @@ func (gm *GuildMgr) LeaveGuild(guildId int64, memberID string) error {
|
||||
}
|
||||
|
||||
// DismissMember 开除成员 踢出
|
||||
func (gm *GuildMgr) DismissMember(guildId int64, operatorAccountId, memberID string) error {
|
||||
func (gm *GuildMgr) DismissMember(guildId int64, operatorAccountId, accountId string) error {
|
||||
guild, exists := gm.Guilds[guildId]
|
||||
if !exists {
|
||||
return fmt.Errorf("guild not found")
|
||||
}
|
||||
|
||||
if memberID == guild.LeaderId {
|
||||
if accountId == guild.LeaderId {
|
||||
return fmt.Errorf("cannot dismiss the leader")
|
||||
}
|
||||
|
||||
operatorMember, err := guild.GetMember(operatorAccountId)
|
||||
// 公会干部及以上仅可操作
|
||||
operatorPermLevel := 2
|
||||
err := gm.checkOperatorPerm(guild, operatorAccountId, operatorPermLevel)
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot dismiss the leader")
|
||||
}
|
||||
if operatorMember.Level >= 2 {
|
||||
return fmt.Errorf("no permission")
|
||||
return err
|
||||
}
|
||||
|
||||
dismissMember, err := guild.GetMember(memberID)
|
||||
if operatorAccountId == accountId {
|
||||
return fmt.Errorf("member not dismiss")
|
||||
}
|
||||
|
||||
dismissMember, err := guild.GetMember(accountId)
|
||||
if err != nil {
|
||||
return fmt.Errorf("member not found in the guild")
|
||||
}
|
||||
@ -206,7 +209,7 @@ func (gm *GuildMgr) DismissMember(guildId int64, operatorAccountId, memberID str
|
||||
return fmt.Errorf("no permission")
|
||||
}
|
||||
|
||||
_ = guild.RemoveMember(memberID)
|
||||
_ = guild.RemoveMember(accountId)
|
||||
fields := [][]string{{"is_leave_guild", q5.ToString(1)}}
|
||||
where := []string{"account_id", q5.ToString(dismissMember.AccountId)}
|
||||
gm.updateGuildMember(guild, fields, where)
|
||||
@ -215,17 +218,17 @@ func (gm *GuildMgr) DismissMember(guildId int64, operatorAccountId, memberID str
|
||||
}
|
||||
|
||||
// PromoteMember 提升成员为干部
|
||||
func (gm *GuildMgr) PromoteMember(guildId int64, operatorAccountId, memberID string) error {
|
||||
func (gm *GuildMgr) PromoteMember(guildId int64, operatorAccountId, accountId string) error {
|
||||
guild, exists := gm.Guilds[guildId]
|
||||
if !exists {
|
||||
return fmt.Errorf("guild not found")
|
||||
}
|
||||
|
||||
if memberID == guild.LeaderId {
|
||||
if accountId == guild.LeaderId {
|
||||
return fmt.Errorf("cannot promote the leader")
|
||||
}
|
||||
|
||||
member, err := guild.GetMember(memberID)
|
||||
member, err := guild.GetMember(accountId)
|
||||
if err != nil {
|
||||
return fmt.Errorf("member not found in the guild")
|
||||
}
|
||||
@ -240,17 +243,17 @@ func (gm *GuildMgr) PromoteMember(guildId int64, operatorAccountId, memberID str
|
||||
}
|
||||
|
||||
// DemoteMember 解除成员干部身份
|
||||
func (gm *GuildMgr) DemoteMember(guildId int64, operatorAccountId, memberID string) error {
|
||||
func (gm *GuildMgr) DemoteMember(guildId int64, operatorAccountId, accountId string) error {
|
||||
guild, exists := gm.Guilds[guildId]
|
||||
if !exists {
|
||||
return fmt.Errorf("guild not found")
|
||||
}
|
||||
|
||||
if memberID == guild.LeaderId {
|
||||
if accountId == guild.LeaderId {
|
||||
return fmt.Errorf("cannot demote the leader")
|
||||
}
|
||||
|
||||
member, err := guild.GetMember(memberID)
|
||||
member, err := guild.GetMember(accountId)
|
||||
if err != nil {
|
||||
return fmt.Errorf("member not found in the guild")
|
||||
}
|
||||
|
@ -206,7 +206,7 @@ func (p *Player) CMCreateGuild(hdr *f5.MsgHdr, msg *cs.CMCreateGuild) {
|
||||
wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
|
||||
}
|
||||
|
||||
// CMApplyToGuild 申请加入公会
|
||||
// CMApplyToGuild 同意申请者加入公会
|
||||
func (p *Player) CMApplyToGuild(hdr *f5.MsgHdr, msg *cs.CMApplyToGuild) {
|
||||
rspMsg := new(cs.SMApplyToGuild)
|
||||
guildId := msg.GetGuildId()
|
||||
@ -222,7 +222,7 @@ func (p *Player) CMApplyToGuild(hdr *f5.MsgHdr, msg *cs.CMApplyToGuild) {
|
||||
wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
|
||||
}
|
||||
|
||||
// CMApprove 批准申请加入公会
|
||||
// CMApprove 同意申请者加入公会
|
||||
func (p *Player) CMApprove(hdr *f5.MsgHdr, msg *cs.CMApprove) {
|
||||
rspMsg := new(cs.SMApprove)
|
||||
guildId := msg.GetGuildId()
|
||||
@ -241,7 +241,7 @@ func (p *Player) CMApprove(hdr *f5.MsgHdr, msg *cs.CMApprove) {
|
||||
wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
|
||||
}
|
||||
|
||||
// CMReject 拒绝申请加入公会
|
||||
// CMReject 拒绝申请者加入公会
|
||||
func (p *Player) CMReject(hdr *f5.MsgHdr, msg *cs.CMReject) {
|
||||
rspMsg := new(cs.SMReject)
|
||||
guildId := msg.GetGuildId()
|
||||
|
Loading…
x
Reference in New Issue
Block a user