From 1f4d3b28537a09b27f7d520510ab13b4ac5ba7a3 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 20 Apr 2024 22:20:31 +0800 Subject: [PATCH] 1 --- server/mailserver/common/types.go | 7 +++-- server/mailserver/player/player.go | 41 +++++++++++++++++++++++++++--- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/server/mailserver/common/types.go b/server/mailserver/common/types.go index 8a691d23..edd2121b 100644 --- a/server/mailserver/common/types.go +++ b/server/mailserver/common/types.go @@ -30,12 +30,11 @@ type App interface { type Player interface { Lock() UnLock() - GetHashCode() uint32 GetAccountId() string - MarkMails([]Mail) - GetAttachment([]Mail) - DeleteMails([]Mail) + MarkMails([]Mail) error + GetAttachment([]Mail) error + DeleteMails([]Mail) error } type PlayerMgr interface { diff --git a/server/mailserver/player/player.go b/server/mailserver/player/player.go index 4dff3101..4ef68cc3 100644 --- a/server/mailserver/player/player.go +++ b/server/mailserver/player/player.go @@ -42,16 +42,43 @@ func (this *player) GetAccountId() string { return this.accountId } -func (this *player) MarkMails(mails []common.Mail) { +func (this *player) MarkMails(mails []common.Mail) error { this.checkLock() + var resultErr error + for _, m := range(mails) { + if m.IsValid(this) { + mi := this.getInbox(m.GetMailId()) + if mi == nil { + f5.GetGoStyleDb().Upsert( + constant.MAIL_DB, + "t_inbox", + [][]string{ + + }, + [][]string{ + + }, + [][]string{ + + }, + func (err error, lastInsertId int64, rowsAffected int64) { + }) + } + } + } + return resultErr } -func (this *player) GetAttachment(mails []common.Mail) { +func (this *player) GetAttachment(mails []common.Mail) error { this.checkLock() + var resultErr error + return resultErr } -func (this *player) DeleteMails(mails []common.Mail) { +func (this *player) DeleteMails(mails []common.Mail) error { this.checkLock() + var resultErr error + return resultErr } func (this *player) checkLock() { @@ -83,6 +110,14 @@ func (this *player) load() { }) } +func (this *player) getInbox(mailId int64) *inbox { + if m, ok := this.inboxHash[mailId]; ok { + return m + } else { + return nil + } +} + func newPlayer() *player { p := new(player) p.init()