From 9cdd25b3608667a32247e095ac6207d65ac6995a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 5 Jun 2024 15:39:21 +0800 Subject: [PATCH] 1 --- server/adminserver/task/taskmgr.go | 14 +++++++++++++- server/mailserver/mail/mail.go | 12 +++++++----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/server/adminserver/task/taskmgr.go b/server/adminserver/task/taskmgr.go index bd6ebcf6..5c6c9163 100644 --- a/server/adminserver/task/taskmgr.go +++ b/server/adminserver/task/taskmgr.go @@ -7,6 +7,7 @@ import ( "sync" "time" "main/constant" + "main/model/system" ) type taskMgr struct { @@ -91,6 +92,7 @@ func (this *taskMgr) pullSysMail() { } func (this *taskMgr) writeMail(ds *f5.DataSet) bool { + mailId := q5.ToString(f5.GetApp().NewLockNodeUuid()) unikey := ds.GetByName("unikey") subject := ds.GetByName("subject") content := ds.GetByName("content") @@ -112,7 +114,7 @@ func (this *taskMgr) writeMail(ds *f5.DataSet) bool { [][]string{ }, [][]string{ - {"mail_id", q5.ToString(f5.GetApp().NewLockNodeUuid())}, + {"mail_id", mailId}, {"mail_type", q5.ToString(constant.MAIL_TYPE_GROUP)}, {"unikey", unikey}, {"subject", subject}, @@ -130,6 +132,16 @@ func (this *taskMgr) writeMail(ds *f5.DataSet) bool { ok = err == nil if err != nil { f5.GetSysLog().Info("writeMail err:%s", err) + } else { + { + nowDaySeconds := int32(f5.GetApp().GetRealSeconds()) + e := new(system.MailEvent) + e.EventName = constant.EVENT_MAIL_UPDATE + e.Param1 = q5.ToString(mailId) + e.CreateTime = nowDaySeconds + e.ModifyTime = nowDaySeconds + f5.GetApp().GetOrmDb(constant.MAIL_DB).Create(e) + } } }) return ok diff --git a/server/mailserver/mail/mail.go b/server/mailserver/mail/mail.go index f87fc63f..8dec394a 100644 --- a/server/mailserver/mail/mail.go +++ b/server/mailserver/mail/mail.go @@ -52,13 +52,15 @@ func (this *mail) loadFromDb(ds *f5.DataSet) { recipientsStr := ds.GetByName("recipients") if recipientsStr != "" { recipientsList := []string{} - if err := q5.DecodeJson(recipientsStr, recipientsList); err != nil { + if err := q5.DecodeJson(recipientsStr, &recipientsList); err != nil { panic("mail.loadFromDb parse recipients error " + q5.ToString(this.mailId)) } - /* - for _, recipient := range(recipientsList) { - //this.recipients[recipient] = 1 - }*/ + if len(recipientsList) > 0 { + this.recipients = new(sync.Map) + for _, recipient := range(recipientsList) { + this.recipients.Store(recipient, 1) + } + } } } }