diff --git a/server/mailserver/mail/mail.go b/server/mailserver/mail/mail.go index 71a470e9..4c63dbd9 100644 --- a/server/mailserver/mail/mail.go +++ b/server/mailserver/mail/mail.go @@ -95,7 +95,7 @@ func (this *mail) fillMailDto(hum common.Player, p *common.MailDto) bool { p.Subject = this.subject p.Content = this.content //p.Flags - if hum.IsUnread(this) { + if !hum.IsUnread(this) { p.Flags = 1 << 0 } else { p.Flags = 0 diff --git a/server/mailserver/mail/mailmgr.go b/server/mailserver/mail/mailmgr.go index c0e7976a..42d19ae8 100644 --- a/server/mailserver/mail/mailmgr.go +++ b/server/mailserver/mail/mailmgr.go @@ -275,7 +275,7 @@ func (this *mailMgr) getMail(mailId string) common.Mail { } func (this *mailMgr) internalGetMail(mailId string) *mail { - if p, ok := this.idHash.Load(mailId); ok { + if p, ok := this.idHash.Load(q5.ToInt64(mailId)); ok { return p.(*mail) } else { return nil diff --git a/server/mailserver/player/player.go b/server/mailserver/player/player.go index 426ba728..754ec055 100644 --- a/server/mailserver/player/player.go +++ b/server/mailserver/player/player.go @@ -164,7 +164,7 @@ func (this* player) IsReadable(m common.Mail) bool { func (this* player) IsUnread(m common.Mail) bool { mi := this.getInbox(m.GetMailId()) if mi != nil { - return mi.state != constant.INBOX_STATE_NONE + return mi.state == constant.INBOX_STATE_NONE } return true }