ziwen 3 жил өмнө
parent
commit
feb6f98cff

+ 29 - 0
services/alarm_msg/alarm_msg.go

@@ -0,0 +1,29 @@
+package alarm_msg
+
+import (
+	"encoding/json"
+	"github.com/rdlucklib/rdluck_tools/http"
+	"hongze/hongze_data_crawler/utils"
+)
+
+var (
+	AlarmMsgUrl = "http://127.0.0.1:8606/api/alarm/send"
+)
+
+//projectName-项目名称
+//runMode-运行模式
+//msgBody-消息内容
+//level:消息基本,1:提示消息,2:警告消息,3:严重错误信息,默认为1 提示消息
+func SendAlarmMsg(msgBody string, level int) {
+	params := make(map[string]interface{})
+	params["ProjectName"] = utils.APPNAME
+	params["RunMode"] = utils.RunMode
+	params["MsgBody"] = msgBody
+	params["Level"] = level
+	param, err := json.Marshal(params)
+	if err != nil {
+		utils.FileLog.Info("SendAlarmMsg json.Marshal Err:" + err.Error())
+		return
+	}
+	http.Post(AlarmMsgUrl, string(param))
+}

+ 4 - 1
services/commodity_coal_coastal.go

@@ -5,6 +5,7 @@ import (
 	"github.com/mozillazg/go-pinyin"
 	"github.com/tealeg/xlsx"
 	"hongze/hongze_data_crawler/models"
+	"hongze/hongze_data_crawler/services/alarm_msg"
 	"hongze/hongze_data_crawler/utils"
 	"strconv"
 	"strings"
@@ -16,7 +17,9 @@ func FileCoalCoastal() {
 	defer func() {
 		if err != nil {
 			fmt.Println("RefreshDataFromCoalCoastal  Err:" + err.Error())
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCoalCoastal ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			msg := "失败提醒"+"RefreshDataFromCoalCoastal ErrMsg:"+err.Error()
+			go alarm_msg.SendAlarmMsg(msg, 3)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCoalCoastal ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
 	//path := "static/file/沿海八省动力煤终端用户供耗存数据更新03.07.xlsx"

+ 4 - 1
services/commodity_coal_firm.go

@@ -5,6 +5,7 @@ import (
 	"github.com/mozillazg/go-pinyin"
 	"github.com/tealeg/xlsx"
 	"hongze/hongze_data_crawler/models"
+	"hongze/hongze_data_crawler/services/alarm_msg"
 	"hongze/hongze_data_crawler/utils"
 	"os"
 	"strconv"
@@ -17,7 +18,9 @@ func FileCoalFirm() () {
 	defer func() {
 		if err != nil {
 			fmt.Println("RefreshDataFromCoalFirm Err:" + err.Error())
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCoalFirm ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			msg := "失败提醒"+"RefreshDataFromCoalFirm ErrMsg:"+err.Error()
+			go alarm_msg.SendAlarmMsg(msg, 3)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCoalFirm ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
 	var xlFile *xlsx.File

+ 4 - 1
services/commodity_coal_inland.go

@@ -5,6 +5,7 @@ import (
 	"github.com/mozillazg/go-pinyin"
 	"github.com/tealeg/xlsx"
 	"hongze/hongze_data_crawler/models"
+	"hongze/hongze_data_crawler/services/alarm_msg"
 	"hongze/hongze_data_crawler/utils"
 	"strconv"
 	"time"
@@ -15,7 +16,9 @@ func FileCoalInland() () {
 	defer func() {
 		if err != nil {
 			fmt.Println("RefreshDataFromCoalInland Err:" + err.Error())
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCoalInland ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			msg := "失败提醒"+"RefreshDataFromCoalInland ErrMsg:"+err.Error()
+			go alarm_msg.SendAlarmMsg(msg, 3)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCoalInland ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
 	//path := "static/file/内陆17省动力煤终端用户供耗存20220408.xlsx"

+ 4 - 1
services/commodity_coal_mine.go

@@ -5,6 +5,7 @@ import (
 	"github.com/mozillazg/go-pinyin"
 	"github.com/tealeg/xlsx"
 	"hongze/hongze_data_crawler/models"
+	"hongze/hongze_data_crawler/services/alarm_msg"
 	"hongze/hongze_data_crawler/utils"
 	"strconv"
 	"strings"
@@ -16,7 +17,9 @@ func FileCoalJsm() () {
 	defer func() {
 		if err != nil {
 			fmt.Println("RefreshDataFromCoalJsm Err:" + err.Error())
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCoalJsm ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			msg := "失败提醒"+"RefreshDataFromCoalJsm ErrMsg:"+err.Error()
+			go alarm_msg.SendAlarmMsg(msg, 3)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCoalJsm ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
 	//path := "static/file/442家晋陕蒙煤矿周度产量数据-20220328.xlsx"

+ 22 - 7
services/commodity_trade_dalian.go

@@ -6,6 +6,7 @@ import (
 	"github.com/PuerkitoBio/goquery"
 	"github.com/mozillazg/go-pinyin"
 	"hongze/hongze_data_crawler/models"
+	"hongze/hongze_data_crawler/services/alarm_msg"
 	"hongze/hongze_data_crawler/utils"
 	"io/ioutil"
 	"log"
@@ -43,7 +44,9 @@ func SyncRankingFromDalianSearch(dayNum int) (err error) {
 	defer func() {
 		if err != nil {
 			fmt.Println("RefreshDataFromDalian Err:" + err.Error())
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDalian ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			msg := "失败提醒" + "RefreshDataFromDalian ErrMsg:" + err.Error()
+			go alarm_msg.SendAlarmMsg(msg, 3)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDalian ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
 	//定义爬取时间
@@ -107,7 +110,9 @@ func SyncRankingFromDalianSearch(dayNum int) (err error) {
 	defer res.Body.Close()
 	body, err := ioutil.ReadAll(res.Body)
 	if err != nil {
-		go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDalian ErrMsg:"+err.Error()+"获取指标失败:"+currDate+VarietyName+ContractId, utils.EmailSendToUsers)
+		msg := "失败提醒" + "RefreshDataFromDalian ErrMsg:" + err.Error() + "获取指标失败:" + currDate + VarietyName + ContractId
+		go alarm_msg.SendAlarmMsg(msg, 3)
+		//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDalian ErrMsg:"+err.Error()+"获取指标失败:"+currDate+VarietyName+ContractId, utils.EmailSendToUsers)
 		return err
 	}
 	exitProductMaps, _, varietyArrMaps := DoSearch(string(body))
@@ -238,7 +243,9 @@ func DoHtml(body, name, contractId string, dateTime time.Time, listDataMap map[s
 	defer func() {
 		if err != nil {
 			fmt.Println("RefreshDataFromDaLian Err:" + err.Error())
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDaLian ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			msg := "失败提醒" + "RefreshDataFromDalian ErrMsg:" + err.Error()
+			go alarm_msg.SendAlarmMsg(msg, 3)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDaLian ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
 	str := body
@@ -420,7 +427,9 @@ func GetDalianHtmlBody(dayNum int, contractId, carietyCode, varietyName string)
 	defer func() {
 		if err != nil {
 			fmt.Println("GetDalianHtmlBody Err:" + err.Error())
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetDalianHtmlBody ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			msg := "失败提醒" + "GetDalianHtmlBody ErrMsg:" + err.Error()
+			go alarm_msg.SendAlarmMsg(msg, 3)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetDalianHtmlBody ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
 
@@ -482,7 +491,9 @@ func GetDalianHtmlBody(dayNum int, contractId, carietyCode, varietyName string)
 	defer res.Body.Close()
 	htmlBody, err := ioutil.ReadAll(res.Body)
 	if err != nil {
-		go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetDalianHtmlBody ErrMsg:"+err.Error()+"获取指标失败:"+currDate+varietyName+contractId, utils.EmailSendToUsers)
+		msg := "失败提醒"+ "GetDalianHtmlBody ErrMsg:"+err.Error()+"获取指标失败:"+currDate+varietyName+contractId
+		go alarm_msg.SendAlarmMsg(msg, 3)
+		//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetDalianHtmlBody ErrMsg:"+err.Error()+"获取指标失败:"+currDate+varietyName+contractId, utils.EmailSendToUsers)
 		return
 	}
 	body = string(htmlBody)
@@ -495,7 +506,9 @@ func SyncRankingFromDalian(dayNum int, searchList []*SearchList) (err error) {
 	defer func() {
 		if err != nil {
 			fmt.Println("RefreshDataFromDalian Err:" + err.Error())
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDalian ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			msg := "失败提醒" + "RefreshDataFromDalian ErrMsg:" + err.Error()
+			go alarm_msg.SendAlarmMsg(msg, 3)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDalian ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
 	//定义爬取时间
@@ -573,7 +586,9 @@ func SyncRankingFromDalian(dayNum int, searchList []*SearchList) (err error) {
 			defer res.Body.Close()
 			body, err := ioutil.ReadAll(res.Body)
 			if err != nil {
-				go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDalian ErrMsg:"+err.Error()+"获取指标失败:"+currDate+v.VarietyName+v2.ContractId, utils.EmailSendToUsers)
+				msg := "失败提醒"+ "RefreshDataFromDalian ErrMsg:"+err.Error()+"获取指标失败:"+currDate+v.VarietyName+v2.ContractId
+				go alarm_msg.SendAlarmMsg(msg, 3)
+				//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDalian ErrMsg:"+err.Error()+"获取指标失败:"+currDate+v.VarietyName+v2.ContractId, utils.EmailSendToUsers)
 				return err
 			}
 			err = DoHtml(string(body), v.VarietyName, v2.ContractId, timeDate, listDataMap, listIndexCodeMap, listDataMapVal)