131 lines
3.8 KiB
Go
131 lines
3.8 KiB
Go
|
package email
|
|||
|
|
|||
|
import (
|
|||
|
"fmt"
|
|||
|
"strconv"
|
|||
|
|
|||
|
"go-common/app/job/main/videoup-report/model/email"
|
|||
|
"go-common/library/log"
|
|||
|
)
|
|||
|
|
|||
|
//NotifyEmailTemplate 优质UP主/时政UP主/企业UP主/十万粉丝报备邮件
|
|||
|
func (d *Dao) NotifyEmailTemplate(params map[string]string) (tpl *email.Template) {
|
|||
|
headers := map[string][]string{
|
|||
|
email.FROM: {d.c.Mail.Username},
|
|||
|
}
|
|||
|
|
|||
|
//to
|
|||
|
typeIDStr := params["typeId"]
|
|||
|
if len(d.emailAddr[typeIDStr]) == 0 {
|
|||
|
log.Info("archive(%s) type(%s) don't config email address.", params["aid"], typeIDStr)
|
|||
|
return
|
|||
|
}
|
|||
|
headers[email.TO] = d.emailAddr[typeIDStr]
|
|||
|
|
|||
|
//subject
|
|||
|
headers[email.SUBJECT] = []string{fmt.Sprintf("优质/十万粉稿件处理报备[%s]--操作人: %s[%s]", params["upName"], params["username"], params["department"])}
|
|||
|
//body
|
|||
|
body := `
|
|||
|
稿件标题:%s
|
|||
|
up主:%s
|
|||
|
稿件链接:http://www.bilibili.com/video/av%s
|
|||
|
触发条件:%s
|
|||
|
处理操作:%s
|
|||
|
`
|
|||
|
body = fmt.Sprintf(body, params["title"], params["upName"], params["aid"], params["condition"], params["change"])
|
|||
|
fromVideo, err := strconv.ParseBool(params["fromVideo"])
|
|||
|
if err != nil {
|
|||
|
log.Error("NotifyEmailTemplate get email template: strconv.ParseBool error(%v) aid(%s) fromVideo(%s)", err, params["aid"], params["fromVideo"])
|
|||
|
return
|
|||
|
}
|
|||
|
//视频追踪信息还没上线,先不写
|
|||
|
if !fromVideo {
|
|||
|
body += fmt.Sprintf("稿件追踪:http://manager.bilibili.co/#!/archive_utils/arc-track?aid=%s", params["aid"])
|
|||
|
}
|
|||
|
|
|||
|
aid, _ := strconv.ParseInt(params["aid"], 10, 64)
|
|||
|
uid, _ := strconv.ParseInt(params["uid"], 10, 64)
|
|||
|
tpl = &email.Template{
|
|||
|
Headers: headers,
|
|||
|
Body: body,
|
|||
|
ContentType: "text/plain",
|
|||
|
Type: email.EmailUP,
|
|||
|
AID: aid,
|
|||
|
UID: uid,
|
|||
|
Username: params["username"],
|
|||
|
Department: params["department"],
|
|||
|
}
|
|||
|
log.Info("NotifyEmailTemplate: email template(%+v)", tpl)
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
//PrivateEmailTemplate 私单报备邮件模板
|
|||
|
func (d *Dao) PrivateEmailTemplate(params map[string]string) (tpl *email.Template) {
|
|||
|
headers := map[string][]string{
|
|||
|
email.FROM: {d.c.Mail.Username},
|
|||
|
}
|
|||
|
|
|||
|
//to
|
|||
|
to := d.PrivateAddr[params["typeId"]]
|
|||
|
if len(to) == 0 {
|
|||
|
log.Error("PrivateEmailTemplate lack email address config: typeId(%s), params(%v)", params["typeId"], params)
|
|||
|
return
|
|||
|
}
|
|||
|
headers[email.TO] = to
|
|||
|
|
|||
|
//cc
|
|||
|
cc := d.PrivateAddr["CC"]
|
|||
|
if len(cc) > 0 {
|
|||
|
headers[email.CC] = cc
|
|||
|
}
|
|||
|
|
|||
|
subject := fmt.Sprintf("私单稿件报备_%s_av%s", params["upName"], params["aid"])
|
|||
|
headers[email.SUBJECT] = []string{subject}
|
|||
|
|
|||
|
body := `稿件标题: %s
|
|||
|
稿件状态: %s
|
|||
|
禁止项状态: 排行禁止:%s ;动态禁止:%s ; 推荐禁止:%s
|
|||
|
UP主: %s
|
|||
|
粉丝量:%s
|
|||
|
操作人: %s [%s]
|
|||
|
备注: %s`
|
|||
|
body = fmt.Sprintf(body, params["arcTitle"], params["arcState"], params["noRankAttr"], params["noDynamicAttr"], params["noRecommendAttr"],
|
|||
|
params["upName"], params["upFans"], params["mngName"], params["mngDepartment"], params["note"])
|
|||
|
|
|||
|
aid, _ := strconv.ParseInt(params["aid"], 10, 64)
|
|||
|
uid, _ := strconv.ParseInt(params["uid"], 10, 64)
|
|||
|
tpl = &email.Template{
|
|||
|
Headers: headers,
|
|||
|
Body: body,
|
|||
|
ContentType: "text/plain",
|
|||
|
Type: params["emailType"],
|
|||
|
AID: aid,
|
|||
|
UID: uid,
|
|||
|
Username: params["mngName"],
|
|||
|
Department: params["mngDepartment"],
|
|||
|
}
|
|||
|
log.Info("PrivateEmailTemplate: email template(%+v)", tpl)
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// MinitorNotifyTeamplate 审核监控报警邮件模板
|
|||
|
func (d *Dao) MonitorNotifyTemplate(subject string, body string, toEmails []string) (tpl *email.Template) {
|
|||
|
headers := map[string][]string{
|
|||
|
email.FROM: {d.c.Mail.Username},
|
|||
|
}
|
|||
|
headers[email.TO] = toEmails
|
|||
|
headers[email.SUBJECT] = []string{subject}
|
|||
|
tpl = &email.Template{
|
|||
|
Headers: headers,
|
|||
|
Body: body,
|
|||
|
ContentType: "text/plain",
|
|||
|
Type: email.EmailMonitor,
|
|||
|
AID: 0,
|
|||
|
UID: 0,
|
|||
|
Username: "",
|
|||
|
Department: "",
|
|||
|
}
|
|||
|
log.Info("MinitorNotifyTeamplate: email template(%+v)", tpl)
|
|||
|
return
|
|||
|
}
|