longyu 2 лет назад
Родитель
Сommit
e867d25410
2 измененных файлов с 55 добавлено и 3 удалено
  1. 6 2
      controllers/alaram_msg.go
  2. 49 1
      services/alarm_msg.go

+ 6 - 2
controllers/alaram_msg.go

@@ -45,13 +45,17 @@ func (this *AlarmMsgController) SmsSend() {
 	}
 	//钉钉
 	{
-		go services.SendAlarmMsgByDingTalk(req.ProjectName, req.RunMode, req.MsgBody, req.Level)
+		if utils.RunMode == "release" {
+			go services.SendAlarmMsgByDingTalkRelease(req.ProjectName, req.RunMode, req.MsgBody, req.Level)
+		} else {
+			go services.SendAlarmMsgByDingTalkDebug(req.ProjectName, req.RunMode, req.MsgBody, req.Level)
+		}
 	}
 	//邮箱
 	{
 		if utils.RunMode == "release" {
 			emailToUser := req.Email
-			if emailToUser == ``{
+			if emailToUser == `` {
 				configItem, _ := cache.GetSmsConfigByCache("email")
 				if configItem != nil {
 					emailToUser = configItem.ConfigValue

+ 49 - 1
services/alarm_msg.go

@@ -14,7 +14,7 @@ import (
 //level:消息基本,1:提示消息,2:警告消息,3:严重错误信息,默认为1 提示消息
 
 //钉钉机器人
-func SendAlarmMsgByDingTalk(projectName, runMode, msgBody string, level int) {
+func SendAlarmMsgByDingTalkRelease(projectName, runMode, msgBody string, level int) {
 	if level <= 0 {
 		level = 1
 	}
@@ -61,6 +61,54 @@ func SendAlarmMsgByDingTalk(projectName, runMode, msgBody string, level int) {
 	}
 }
 
+
+//钉钉机器人
+func SendAlarmMsgByDingTalkDebug(projectName, runMode, msgBody string, level int) {
+	if level <= 0 {
+		level = 1
+	}
+	time.Sleep(time.Second)
+	var err error
+	defer func() {
+		if err != nil {
+			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "SendSms Err:"+err.Error(), utils.EmailSendToUsers)
+		}
+	}()
+
+	var dingToken = []string{}
+
+	dingToken = []string{
+		"8b484441ec606d4c62a8036aa9c5ccd0dd88a995aef1a97b65d51d401c786f45",
+		"ae88f1bcbe44e837dd73927f07af84a7f9a7c7be0b04e36089f8bc858ed23bab",
+	}
+
+	smsDateTime := time.Now().Format(utils.FormatDateTime)
+	var fontColor string
+	if level == 1 {
+		fontColor = `#008000`
+	} else if level == 2 {
+		fontColor = `#FF8C00`
+	} else {
+		fontColor = `#FF0000`
+	}
+	title := projectName + "【" + runMode + "】"
+	if runMode == "" {
+		title = projectName
+	}
+	msg := []string{
+		"### " + title,
+		"---",
+		"- <font color=" + fontColor + ">" + msgBody + "</font>",
+		"- " + smsDateTime,
+	}
+	cli := dingtalk.InitDingTalk(dingToken, "报警")
+	//cli.SendTextMessage("content", dingtalk.WithAtAll())
+	err = cli.SendMarkDownMessageBySlice(utils.APPNAME, msg)
+	if err != nil {
+		return
+	}
+}
+
 var (
 	emails = []struct {
 		address  string