Browse Source

附件为空bug修改

xingzai 3 years ago
parent
commit
62df78a29a
4 changed files with 50 additions and 8 deletions
  1. 1 0
      controllers/activity.go
  2. 3 1
      models/activity.go
  3. 7 7
      services/activity.go
  4. 39 0
      utils/email.go

+ 1 - 0
controllers/activity.go

@@ -1711,6 +1711,7 @@ func (this *ActivityCoAntroller) LabelList() {
 			br.ErrMsg = "获取失败,Err:" + errList.Error()
 			return
 		}
+		sortTime = ` mintimesort ASC `
 		condition += ` AND art.active_state = 1 `
 		list1, errList := models.GetActivityLabelListAll(condition, sortTime, pars, startSize, 16)
 		if errList != nil {

+ 3 - 1
models/activity.go

@@ -422,7 +422,9 @@ func UPdateActivityIdToSendFile(activityId int) (err error) {
 
 //活动详情
 type CygxActivityLabelList struct {
-	KeyWord string `orm:"column(label)";description:"主题"`
+	KeyWord     string `orm:"column(label)";description:"主题"`
+	Timesort    string `description:"最大时间"`
+	Mintimesort string `description:"最小时间"`
 }
 
 //主题列表

+ 7 - 7
services/activity.go

@@ -240,23 +240,23 @@ func SendEmailFileToExpert(cont context.Context) (err error) {
 		} else if activityInfo.ChartPermissionName == "策略" || activityInfo.ChartPermissionNames == "研选" {
 			touser = utils.EmailStrategy
 		}
-		haveSuccess := utils.SendEmailHaveFile(title, content, fileName, touser)
-		time.Sleep(time.Duration(2) * time.Second) //延迟两秒,避免过多活动的时候邮件发送没有内容
-		defer func() {
-			os.Remove(downLoadnFilePath)
-		}()
-		if haveSuccess {
+		//haveSuccess := utils.SendEmailHaveFile(title, content, fileName, touser)
+		sendResult := utils.SendEmailByHongze(title, content, touser, fileName, title+".xlsx")
+		//defer func() {
+		//	os.Remove(downLoadnFilePath)
+		//}()
+		if sendResult {
 			errFile = models.UPdateActivityIdToSendFile(v.ActivityId)
 			if errFile != nil {
 				msg = "获取失败,Err:" + errFile.Error()
 				return
 			}
+			os.Remove(downLoadnFilePath)
 		} else {
 			go utils.SendEmail("发送附件模版消息失败"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+activityInfo.ActivityName, utils.EmailSendToUsers)
 			utils.FileLog.Info("发送附件模版消息失败,Err:%s", activityInfo.ActivityName)
 		}
 	}
-	fmt.Println("发送附件完成")
 	return
 }
 

+ 39 - 0
utils/email.go

@@ -1,7 +1,9 @@
 package utils
 
 import (
+	"fmt"
 	"gopkg.in/gomail.v2"
+	"mime"
 	"strings"
 )
 
@@ -86,3 +88,40 @@ func SendEmailHaveFile(title, content string, fileName, touser string) bool {
 	}
 	return true
 }
+
+//发送邮件
+func SendEmailByHongze(title, content string, touser, attachPath, attachName string) bool {
+	var arr []string
+	sub := strings.Index(touser, ";")
+	if sub >= 0 {
+		spArr := strings.Split(touser, ";")
+		for _, v := range spArr {
+			arr = append(arr, v)
+		}
+	} else {
+		arr = append(arr, touser)
+	}
+	m := gomail.NewMessage()
+
+	m.SetHeader("From", "public@hzinsights.com")
+	m.SetHeader("To", arr...)
+	m.SetHeader("Subject", title+" "+GetRandStringNoSpecialChar(8))
+	m.SetBody("text/html", content)
+
+	//body := new(bytes.Buffer)
+	if attachPath != "" {
+		m.Attach(attachPath,
+			gomail.Rename(attachName),
+			gomail.SetHeader(map[string][]string{
+				"Content-Disposition": []string{
+					fmt.Sprintf(`attachment; filename="%s"`, mime.QEncoding.Encode("UTF-8", attachName)),
+				},
+			}))
+	}
+	d := gomail.NewDialer("smtp.mxhichina.com", 465, "public@hzinsights.com", "Hzinsights2018")
+	if err := d.DialAndSend(m); err != nil {
+		fmt.Println("send err:", err.Error())
+		return false
+	}
+	return true
+}