瀏覽代碼

Merge branch 'master' of http://8.136.199.33:3000/hongze/hongze_task

longyu 2 年之前
父節點
當前提交
2d40922809
共有 4 個文件被更改,包括 79 次插入25 次删除
  1. 44 12
      services/data/base_from_smm.go
  2. 22 2
      services/data/edb_info.go
  3. 4 4
      services/task.go
  4. 9 7
      utils/constants.go

+ 44 - 12
services/data/base_from_smm.go

@@ -12,6 +12,7 @@ import (
 	"errors"
 	"fmt"
 	"hongze/hongze_task/models/data_manage"
+	"hongze/hongze_task/services/alarm_msg"
 	"hongze/hongze_task/utils"
 	"io/ioutil"
 	"net/http"
@@ -251,6 +252,7 @@ func GetSmmIndexData() {
 							monthDate, err := time.Parse("2006-01", dataTime)
 							if err != nil {
 								fmt.Println("time.Parse:" + err.Error())
+								continue
 							}
 							lastTime := monthDate.AddDate(0, 1, -1)
 							lastYear, lastMonth, lastDay := lastTime.Date()
@@ -270,7 +272,7 @@ func GetSmmIndexData() {
 
 							saveDataTime, err := time.Parse(utils.FormatDate, dataTime)
 							if err != nil {
-
+								continue
 							}
 							timestamp := saveDataTime.UnixNano() / 1e6
 							var smmIndexId int64
@@ -334,8 +336,18 @@ func GetSmmIndexData() {
 	}
 }
 
-//有色基础指标同步
+// SyncSmmIndexDataBase 有色基础指标同步
 func SyncSmmIndexDataBase() {
+	errMsgList := make([]string, 0)
+	defer func() {
+		//fmt.Println(errMsgList)
+		//如果错误信息大于0条,那么邮件提醒吧
+		if len(errMsgList) > 0 {
+			msg := fmt.Sprint("有色基础指标同步失败,err:", strings.Join(errMsgList, "\n"))
+			go alarm_msg.SendAlarmMsg(msg, 3)
+		}
+
+	}()
 	utils.FileLog.Info("start:" + time.Now().Format(utils.FormatDateTime))
 	list, err := data_manage.GetBaseFromSmmList()
 	if err != nil {
@@ -347,7 +359,7 @@ func SyncSmmIndexDataBase() {
 		fmt.Println(err)
 		return
 	}
-	endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT,0,0).Format(utils.FormatDate)
+	endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
 	smmIndexAll, err := data_manage.GetBaseFromSmmIndex()
 	if err != nil {
 		fmt.Println("GetBaseFromSmmIndex Err:" + err.Error())
@@ -489,7 +501,10 @@ func SyncSmmIndexDataBase() {
 				if frequency == "月" {
 					monthDate, err := time.Parse("2006-01", dataTime)
 					if err != nil {
-						fmt.Println("time.Parse:" + err.Error())
+						errMsg := "monthDate parse err:" + err.Error() + " dataTime:" + dataTime
+						fmt.Println(errMsg)
+						errMsgList = append(errMsgList, errMsg)
+						continue
 					}
 					lastTime := monthDate.AddDate(0, 1, -1)
 					lastYear, lastMonth, lastDay := lastTime.Date()
@@ -503,10 +518,17 @@ func SyncSmmIndexDataBase() {
 				} else if frequency == "年" {
 					dataTime = dataTime + "-12-31"
 				}
-				saveDataTime, err := time.Parse(utils.FormatDate, dataTime)
+				var saveDataTime time.Time
+				if strings.Contains(dataTime, "00:00:00") {
+					saveDataTime, err = time.Parse(utils.FormatDateTime, dataTime)
+				} else {
+					saveDataTime, err = time.Parse(utils.FormatDate, dataTime)
+				}
 				if err != nil {
-					fmt.Println("saveDataTime parse err:" + err.Error() + " dataTime:" + dataTime)
-					panic(err)
+					errMsg := "saveDataTime parse err:" + err.Error() + " dataTime:" + dataTime
+					fmt.Println(errMsg)
+					errMsgList = append(errMsgList, errMsg)
+					continue
 				}
 				timestamp := saveDataTime.UnixNano() / 1e6
 				//循环指标
@@ -533,7 +555,9 @@ func SyncSmmIndexDataBase() {
 									dataItem.DataTimestamp = timestamp
 									_, err = data_manage.AddBaseFromSmmData(dataItem)
 									if err != nil && !strings.Contains(err.Error(), "idx_index_code_date") {
-										fmt.Println("AddBaseFromSmmData Err:" + err.Error())
+										errMsg := "AddBaseFromSmmData Err:" + err.Error()
+										fmt.Println(errMsg)
+										errMsgList = append(errMsgList, errMsg)
 										return
 									}
 								}
@@ -544,7 +568,9 @@ func SyncSmmIndexDataBase() {
 									if val != "" && val != "-" {
 										err = data_manage.ModifyBaseFromSmmData(findData.SmmDataId, val)
 										if err != nil {
-											fmt.Println("ModifyBaseFromSmmData Err:" + err.Error())
+											errMsg := "ModifyBaseFromSmmData Err:" + err.Error()
+											fmt.Println(errMsg)
+											errMsgList = append(errMsgList, errMsg)
 											return
 										}
 									}
@@ -560,16 +586,22 @@ func SyncSmmIndexDataBase() {
 			{
 				indexList, err := data_manage.GetBaseFromSmmIndexByCode(v.Interface)
 				if err != nil {
-					fmt.Println("GetBaseFromSmmIndexByCode Err:" + err.Error())
+					errMsg := "GetBaseFromSmmIndexByCode Err:" + err.Error()
+					fmt.Println(errMsg)
+					errMsgList = append(errMsgList, errMsg)
 				}
 				for _, sv := range indexList {
 					minDate, maxDate, err := data_manage.GetBaseFromSmmMaxOrMinDate(sv.IndexCode)
 					if err != nil {
-						fmt.Println("GetEdbDataSmmMaxOrMinDate Err:" + err.Error())
+						errMsg := "GetEdbDataSmmMaxOrMinDate Err:" + err.Error()
+						fmt.Println(errMsg)
+						errMsgList = append(errMsgList, errMsg)
 					} else {
 						err = data_manage.ModifyBaseFromSmmMinDateAndMaxDate(sv.BaseFromSmmIndexId, v.BaseFromSmmId, minDate, maxDate)
 						if err != nil {
-							fmt.Println("ModifyBaseFromSmmMinDateAndMaxDate Err:" + err.Error())
+							errMsg := "ModifyBaseFromSmmMinDateAndMaxDate Err:" + err.Error()
+							fmt.Println(errMsg)
+							errMsgList = append(errMsgList, errMsg)
 						}
 					}
 				}

+ 22 - 2
services/data/edb_info.go

@@ -1415,6 +1415,26 @@ func ResetEdbInfoIsUpdate(cont context.Context) (err error) {
 
 // CheckWindDataInterface 检测wind数据服务器
 func CheckWindDataInterface(cont context.Context) (err error) {
+	for _, hzDataWindUrl := range utils.Hz_Data_WIND_Url_List {
+		go func(urlStr string) {
+			checkUrl := utils.Hz_Data_WIND_Url + `hz_server`
+			body, err := http.Get(checkUrl)
+			if err != nil {
+				msg := fmt.Sprintf("检测%s失败:CheckWindDataInterface ErrMsg:%s", urlStr, err.Error())
+				//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"检测数据接口:失败提醒", "检测路透数据服务器失败:CheckLtDataInterface ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+				go alarm_msg.SendAlarmMsg(msg, 3)
+			} else {
+				result := string(body)
+				if result != `"wind true"` {
+					//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"检测数据接口:失败提醒", "检测路透数据服务器失败:CheckLtDataInterface ErrMsg:"+string(body), utils.EmailSendToUsers)
+					//msg := "检测Wind数据服务器2失败:CheckWindDataInterface ErrMsg:" + string(body)
+					msg := fmt.Sprintf("检测%s失败:CheckWindDataInterface ErrMsg:%s", urlStr, string(body))
+					go alarm_msg.SendAlarmMsg(msg, 3)
+				}
+			}
+		}(hzDataWindUrl)
+	}
+
 	go func() {
 		checkUrl := utils.Hz_Data_WIND_Url + `hz_server`
 		body, err := http.Get(checkUrl)
@@ -1424,7 +1444,7 @@ func CheckWindDataInterface(cont context.Context) (err error) {
 			go alarm_msg.SendAlarmMsg(msg, 3)
 		} else {
 			result := string(body)
-			if result != `"ek true"` {
+			if result != `"wind true"` {
 				//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"检测数据接口:失败提醒", "检测路透数据服务器失败:CheckLtDataInterface ErrMsg:"+string(body), utils.EmailSendToUsers)
 				msg := "检测Wind数据服务器2失败:CheckWindDataInterface ErrMsg:" + string(body)
 				go alarm_msg.SendAlarmMsg(msg, 3)
@@ -1432,4 +1452,4 @@ func CheckWindDataInterface(cont context.Context) (err error) {
 		}
 	}()
 	return
-}
+}

+ 4 - 4
services/task.go

@@ -218,10 +218,10 @@ func OneMinute(cont context.Context) (err error) {
 func RefreshData(cont context.Context) (err error) {
 	wg := sync.WaitGroup{}
 	wg.Add(8)
-	hour := time.Now().Hour()
-	if hour != 0 {
-		go data.RefreshDataFromWind(&wg)
-	}
+	//hour := time.Now().Hour()
+	//if hour != 0 {
+	//}
+	go data.RefreshDataFromWind(&wg)
 	//同花顺
 	go data.RefreshDataFromThs(&wg)
 	//彭博

+ 9 - 7
utils/constants.go

@@ -20,8 +20,8 @@ const (
 )
 
 const (
-	APPNAME                        = "弘则-task"
-	EmailSendToUsers               = "317699326@qq.com;984198890@qq.com;512188925@qq.com"
+	APPNAME          = "弘则-task"
+	EmailSendToUsers = "317699326@qq.com;984198890@qq.com;512188925@qq.com"
 	//RefreshEdbInfoEmailSendToUsers = "317699326@qq.com;984198890@qq.com;jhwang@hzinsights.com;lnyan@hzinsights.com;vwang@hzinsights.com"
 	RefreshEdbInfoEmailSendToUsers = "317699326@qq.com;984198890@qq.com;jhwang@hzinsights.com;lnyan@hzinsights.com"
 )
@@ -94,12 +94,14 @@ const (
 //http://datawind.hzinsights.com:8040/hz_server
 
 const (
-	Hz_Data_Url    = "http://datawind.hzinsights.com:8040/" //同花顺,万得接口服务地址
-	Hz_Data_PB_Url = "http://datapb.hzinsights.com:8040/"   //彭博接口地址
-	Hz_Data_LT_Url = "http://dataek.hzinsights.com:8040/"   //路透社接口地址
-	Hz_Data_WIND_Url = "http://datawind2.hzinsights.com:8040/"   //路透社接口地址
+	Hz_Data_Url      = "http://datawind.hzinsights.com:8040/"  //同花顺,万得接口服务地址
+	Hz_Data_PB_Url   = "http://datapb.hzinsights.com:8040/"    //彭博接口地址
+	Hz_Data_LT_Url   = "http://dataek.hzinsights.com:8040/"    //路透社接口地址
+	Hz_Data_WIND_Url = "http://datawind2.hzinsights.com:8040/" //路透社接口地址
 )
 
+var Hz_Data_WIND_Url_List = []string{"http://datawind2.hzinsights.com:8040/", "http://datawind3.hzinsights.com:8040/"}
+
 //数据刷新频率
 const (
 	DATA_REFRESH        = 7 //7个单位,日/周/月/季度/年
@@ -123,4 +125,4 @@ var (
 	REPORT_TYPE_TWO_WEEK = "two_week"
 	REPORT_TYPE_MONTH    = "month"
 	REPORT_TYPE_OTHER    = "other"
-)
+)