This commit is contained in:
aozhiwei 2024-05-10 11:59:22 +08:00
parent e1e1596ac6
commit ffa5920a87
4 changed files with 17 additions and 6 deletions

View File

@ -18,6 +18,7 @@ const (
) )
const ( const (
INBOX_STATE_NONE = 0
INBOX_STATE_READ = 1 INBOX_STATE_READ = 1
INBOX_STATE_DELETED = 2 INBOX_STATE_DELETED = 2
) )

View File

@ -6,10 +6,12 @@ type inbox struct {
var Inbox = new(inbox) var Inbox = new(inbox)
func (this *inbox) Mark(accountId string, mailId int64, nowTime int64) error { func (this *inbox) Mark(accountId string, mailId int64, nowTime int64, expireTime int32) error {
//f5.GetGoStyleDb().RawQuery(
//)
return nil return nil
} }
func (this *inbox) Delete(accountId string, mailId int64, nowTime int64) error { func (this *inbox) Delete(accountId string, mailId int64, nowTime int64, expireTime int32) error {
return nil return nil
} }

View File

@ -55,12 +55,12 @@ func (this *player) GetRegisterTime() int32 {
func (this *player) MarkMails(mails []common.Mail) error { func (this *player) MarkMails(mails []common.Mail) error {
this.checkLock() this.checkLock()
var resultErr error var resultErr error
var nowTime int64 var nowTime = f5.GetApp().GetRealSeconds()
for _, m := range(mails) { for _, m := range(mails) {
if m.IsValid(this) { if m.IsValid(this) {
mi := this.getInbox(m.GetMailId()) mi := this.getInbox(m.GetMailId())
if mi == nil { if mi == nil {
err := model.Inbox.Mark(this.GetAccountId(), m.GetMailId(), nowTime) err := model.Inbox.Mark(this.GetAccountId(), m.GetMailId(), nowTime, m.GetExpireTime())
if err != nil { if err != nil {
resultErr = err resultErr = err
break break
@ -70,6 +70,14 @@ func (this *player) MarkMails(mails []common.Mail) error {
mi.state = constant.INBOX_STATE_READ mi.state = constant.INBOX_STATE_READ
mi.expireTime = m.GetExpireTime() mi.expireTime = m.GetExpireTime()
this.inboxHash[mi.mailId] = mi this.inboxHash[mi.mailId] = mi
} else if mi.state != constant.INBOX_STATE_NONE {
err := model.Inbox.Mark(this.GetAccountId(), m.GetMailId(), nowTime, m.GetExpireTime())
if err != nil {
resultErr = err
break
}
mi.state = constant.INBOX_STATE_READ
mi.expireTime = m.GetExpireTime()
} }
} }
} }
@ -90,7 +98,7 @@ func (this *player) DeleteMails(mails []common.Mail) error {
if m.IsValid(this) { if m.IsValid(this) {
mi := this.getInbox(m.GetMailId()) mi := this.getInbox(m.GetMailId())
if mi == nil { if mi == nil {
err := model.Inbox.Delete(this.GetAccountId(), m.GetMailId(), nowTime) err := model.Inbox.Delete(this.GetAccountId(), m.GetMailId(), nowTime, m.GetExpireTime())
if err != nil { if err != nil {
resultErr = err resultErr = err
break break

2
third_party/f5 vendored

@ -1 +1 @@
Subproject commit 55494b30028680324d5401feb66ae7a419a652ae Subproject commit 03df640b48e253e04c141d7b331b4362eef7b415