From a83364131e8f2c1415e6a57481e74854394a11b2 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 25 Apr 2024 08:52:43 +0800 Subject: [PATCH] 1 --- server/mailserver/model/inbox.go | 4 ++++ server/mailserver/player/player.go | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/server/mailserver/model/inbox.go b/server/mailserver/model/inbox.go index 5e80e421..2810e579 100644 --- a/server/mailserver/model/inbox.go +++ b/server/mailserver/model/inbox.go @@ -9,3 +9,7 @@ var Inbox = new(inbox) func (this *inbox) Mark(accountId string, mailId int64, nowTime int64) error { return nil } + +func (this *inbox) Delete(accountId string, mailId int64, nowTime int64) error { + return nil +} diff --git a/server/mailserver/player/player.go b/server/mailserver/player/player.go index e06a7f2e..c187bb25 100644 --- a/server/mailserver/player/player.go +++ b/server/mailserver/player/player.go @@ -76,6 +76,26 @@ func (this *player) GetAttachment(mails []common.Mail) error { func (this *player) DeleteMails(mails []common.Mail) error { this.checkLock() var resultErr error + var nowTime int64 + for _, m := range(mails) { + if m.IsValid(this) { + mi := this.getInbox(m.GetMailId()) + if mi == nil { + err := model.Inbox.Delete(this.GetAccountId(), m.GetMailId(), nowTime) + if err != nil { + resultErr = err + break + } + mi = new(inbox) + mi.mailId = m.GetMailId() + mi.state = constant.INBOX_STATE_DELETED + mi.expireTime = m.GetExpireTime() + this.inboxHash[mi.mailId] = mi + } else if mi.state != constant.INBOX_STATE_DELETED { + mi.state = constant.INBOX_STATE_DELETED + } + } + } return resultErr }