diff --git a/server/mailserver/common/types.go b/server/mailserver/common/types.go index fd052c99..a31e20e4 100644 --- a/server/mailserver/common/types.go +++ b/server/mailserver/common/types.go @@ -11,6 +11,7 @@ type Player interface { Lock() UnLock() GetHashCode() uint32 + GetAccountId() string } type PlayerMgr interface{ diff --git a/server/mailserver/mail/mailmgr.go b/server/mailserver/mail/mailmgr.go index 8746cac3..72109dd6 100644 --- a/server/mailserver/mail/mailmgr.go +++ b/server/mailserver/mail/mailmgr.go @@ -115,7 +115,20 @@ func (this *mailMgr) caDeleteMails(hum common.Player, c *gin.Context) { } func (this *mailMgr) traversePlayerMail(hum common.Player, cb func(*mail) bool) { - + this.wholeMails.Range( + func (k, v interface {}) bool { + return true + }) + this.groupMails.Range( + func (k, v interface {}) bool { + return true + }) + if hum, ok := this.personalMails.Load(hum.GetAccountId()); ok { + (hum.(*sync.Map)).Range( + func (k, v interface{}) bool { + return true + }) + } } func (this *mailMgr) addMail(m *mail) {