浏览代码

Merge branch 'chart/14.4'

hsun 1 年之前
父节点
当前提交
b425979d4a
共有 4 个文件被更改,包括 79 次插入28 次删除
  1. 3 2
      services/data/base_edb_lib.go
  2. 61 16
      services/data/edb_info.go
  3. 3 1
      services/task.go
  4. 12 9
      utils/constants.go

+ 3 - 2
services/data/base_edb_lib.go

@@ -10,7 +10,7 @@ import (
 	"strings"
 )
 
-//新增指标数据
+// 新增指标数据
 func AddEdbData(source int, edbCode string) (resp *models.BaseResponse, err error) {
 	param := make(map[string]interface{})
 	param["EdbCode"] = edbCode
@@ -102,7 +102,6 @@ func RefreshEdbData(edbInfoId, source int, edbCode, startDate string) (resp *mod
 		urlStr = "google_travel/refresh"
 	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
 		urlStr = "mysteel_chemical/refresh"
-		urlStr = "mysteel_chemical/refresh"
 	case utils.DATA_SOURCE_EIA_STEO:
 		urlStr = "eia_steo/refresh"
 	case utils.DATA_SOURCE_PREDICT:
@@ -113,6 +112,8 @@ func RefreshEdbData(edbInfoId, source int, edbCode, startDate string) (resp *mod
 		urlStr = "sci/refresh"
 	case utils.DATA_SOURCE_BAIINFO:
 		urlStr = "baiinfo/refresh"
+	case utils.DATA_SOURCE_NATIONAL_STATISTICS:
+		urlStr = "national_statistics/refresh"
 	}
 	if urlStr == "" {
 		err = fmt.Errorf(fmt.Sprint("source:", source, ";未实现该指标的刷新接口,请联系管理员"))

+ 61 - 16
services/data/edb_info.go

@@ -12,7 +12,7 @@ import (
 	"sync"
 )
 
-//刷新同花顺数据
+// 刷新同花顺数据
 func RefreshDataFromThs(wg *sync.WaitGroup) (err error) {
 	defer func() {
 		if err != nil {
@@ -78,7 +78,7 @@ func RefreshDataFromThs(wg *sync.WaitGroup) (err error) {
 	return err
 }
 
-//刷新万得数据
+// 刷新万得数据
 func RefreshDataFromWind(wg *sync.WaitGroup) (err error) {
 	defer func() {
 		if err != nil {
@@ -141,7 +141,7 @@ func RefreshDataFromWind(wg *sync.WaitGroup) (err error) {
 	return err
 }
 
-//刷新彭博数据
+// 刷新彭博数据
 func RefreshDataFromPb(wg *sync.WaitGroup) (err error) {
 	defer func() {
 		if err != nil {
@@ -929,7 +929,7 @@ func RefreshPredictDataFromCalculateAll() (err error) {
 	return err
 }
 
-//刷新手工指标数据
+// 刷新手工指标数据
 func RefreshDataFromManual(wg *sync.WaitGroup) (err error) {
 	defer func() {
 		if err != nil {
@@ -939,7 +939,7 @@ func RefreshDataFromManual(wg *sync.WaitGroup) (err error) {
 		}
 		wg.Done()
 	}()
-	
+
 	var condition string
 	var pars []interface{}
 	condition += " AND source=? "
@@ -956,7 +956,7 @@ func RefreshDataFromManual(wg *sync.WaitGroup) (err error) {
 		//	return errors.New("RefreshManual:edbCode:" + v.EdbCode + ":" + err.Error())
 		//}
 		startDate := ``
-		if !v.StartDate.IsZero(){
+		if !v.StartDate.IsZero() {
 			startDate = v.StartDate.Format(utils.FormatDate)
 		}
 		resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
@@ -985,7 +985,7 @@ func RefreshDataFromManual(wg *sync.WaitGroup) (err error) {
 	return err
 }
 
-//刷新隆众数据
+// 刷新隆众数据
 func RefreshDataFromLz(wg *sync.WaitGroup) (err error) {
 	defer func() {
 		if err != nil {
@@ -1048,7 +1048,7 @@ func RefreshDataFromLz(wg *sync.WaitGroup) (err error) {
 	return err
 }
 
-//刷新有色数据
+// 刷新有色数据
 func RefreshDataFromYs(wg *sync.WaitGroup) (err error) {
 	defer func() {
 		if err != nil {
@@ -1111,7 +1111,7 @@ func RefreshDataFromYs(wg *sync.WaitGroup) (err error) {
 	return err
 }
 
-//刷新钢联数据
+// 刷新钢联数据
 func RefreshDataFromGl(wg *sync.WaitGroup) (err error) {
 	defer func() {
 		if err != nil {
@@ -1485,17 +1485,17 @@ func RefreshDataFromZz(wg *sync.WaitGroup) (err error) {
 
 // RefreshDataFromLt 刷新路透数据
 func RefreshDataFromLt(wg *sync.WaitGroup) (err error) {
-	errMsgList := make([]string,0)
+	errMsgList := make([]string, 0)
 	defer func() {
 		//if err != nil {
 		//	fmt.Println("RefreshDataFromLt Err:" + err.Error())
 		//	//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromLt ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		//	go alarm_msg.SendAlarmMsg("RefreshDataFromLt ErrMsg:"+err.Error(), 3)
 		//}
-		if len(errMsgList)>0{
-			fmt.Println("RefreshDataFromLt Err:" , errMsgList)
+		if len(errMsgList) > 0 {
+			fmt.Println("RefreshDataFromLt Err:", errMsgList)
 			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromLt ErrMsg:"+err.Error(), utils.EmailSendToUsers)
-			go alarm_msg.SendAlarmMsg("RefreshDataFromLt ErrMsg:"+strings.Join(errMsgList,`<br/>`), 3)
+			go alarm_msg.SendAlarmMsg("RefreshDataFromLt ErrMsg:"+strings.Join(errMsgList, `<br/>`), 3)
 		}
 		wg.Done()
 	}()
@@ -1505,7 +1505,7 @@ func RefreshDataFromLt(wg *sync.WaitGroup) (err error) {
 	pars = append(pars, utils.DATA_SOURCE_LT)
 	items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
 	if err != nil {
-		errMsgList = append(errMsgList,"GetEdbInfoByCondition:" + err.Error())
+		errMsgList = append(errMsgList, "GetEdbInfoByCondition:"+err.Error())
 		return errors.New("GetEdbInfoByCondition:" + err.Error())
 	}
 
@@ -1518,11 +1518,11 @@ func RefreshDataFromLt(wg *sync.WaitGroup) (err error) {
 		//}
 		resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
 		if err != nil {
-			errMsgList = append(errMsgList,"RefreshEdbData Err:" + err.Error())
+			errMsgList = append(errMsgList, "RefreshEdbData Err:"+err.Error())
 			continue
 		}
 		if resp.Ret != 200 {
-			errMsgList = append(errMsgList,"RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
+			errMsgList = append(errMsgList, "RefreshEdbData Err:"+resp.Msg+";ErrMsg:"+resp.ErrMsg)
 			continue
 		}
 		//更新指标的最新数据
@@ -1959,3 +1959,48 @@ func RefreshDataFromSci(wg *sync.WaitGroup) (err error) {
 	}
 	return err
 }
+
+// RefreshDataFromNationalStatistics 刷新统计局数据
+func RefreshDataFromNationalStatistics(wg *sync.WaitGroup) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("RefreshDataFromNationalStatistics Err:" + err.Error())
+			go alarm_msg.SendAlarmMsg("RefreshDataFromNationalStatistics ErrMsg:"+err.Error(), 3)
+		}
+		wg.Done()
+	}()
+	var condition string
+	var pars []interface{}
+	condition += ` AND source = ? `
+	pars = append(pars, utils.DATA_SOURCE_NATIONAL_STATISTICS)
+	items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
+	if err != nil {
+		return errors.New("GetEdbInfoByCondition:" + err.Error())
+	}
+
+	for _, v := range items {
+		startDate := ""
+		if v.Frequency == "日度" {
+			startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
+		} else if v.Frequency == "周度" {
+			startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
+		} else if v.Frequency == "月度" {
+			startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
+		} else if v.Frequency == "季度" {
+			startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
+		} else if v.Frequency == "年度" {
+			startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
+		} else {
+			startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
+		}
+
+		resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
+		if err != nil {
+			return errors.New("RefreshDataFromNationalStatistics Err:" + err.Error())
+		}
+		if resp.Ret != 200 {
+			return errors.New("RefreshDataFromNationalStatistics Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg)
+		}
+	}
+	return err
+}

+ 3 - 1
services/task.go

@@ -259,7 +259,7 @@ func OneMinute(cont context.Context) (err error) {
 
 func RefreshData(cont context.Context) (err error) {
 	wg := sync.WaitGroup{}
-	wg.Add(15)
+	wg.Add(16)
 	//hour := time.Now().Hour()
 	//if hour != 0 {
 	//}
@@ -292,6 +292,8 @@ func RefreshData(cont context.Context) (err error) {
 	go data.RefreshDataFromComTrade(&wg)
 	//卓创报告指标
 	go data.RefreshDataFromSci(&wg)
+	//国家统计局指标
+	go data.RefreshDataFromNationalStatistics(&wg)
 
 	wg.Wait()
 	////计算指标

+ 12 - 9
utils/constants.go

@@ -4,7 +4,7 @@ const (
 	Md5Key = "Ks@h64WJ#tcVgG8$&WlNfqvLAtMgpxWN"
 )
 
-//常量定义
+// 常量定义
 const (
 	FormatTime            = "15:04:05"                //时间格式
 	FormatDate            = "2006-01-02"              //日期格式
@@ -26,25 +26,25 @@ const (
 	RefreshEdbInfoEmailSendToUsers = "317699326@qq.com;984198890@qq.com;jhwang@hzinsights.com;lnyan@hzinsights.com"
 )
 
-//手机号,电子邮箱正则
+// 手机号,电子邮箱正则
 const (
 	RegularMobile = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0-9])|(17[0-9])|(16[0-9])|(19[0-9]))\\d{8}$" //手机号码
 	RegularEmail  = `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*`                                             //匹配电子邮箱
 )
 
-//验证码code
+// 验证码code
 const (
 	REGISTER_CODE = iota + 1 //注册
 	LOGIN_CODE               //登录
 )
 
-//聚合短信
+// 聚合短信
 var (
 	TplId    = "65692"
 	JhAppKey = "4c8504c49dd335e99cfd7b6a3a9e2415"
 )
 
-//科大讯飞--语音合成
+// 科大讯飞--语音合成
 const (
 	XfSTATUS_FIRST_FRAME    = 0 //第一帧标识
 	XfSTATUS_CONTINUE_FRAME = 1 //中间帧标识
@@ -62,7 +62,7 @@ const (
 	//EmailSendToHzUsers = "317699326@qq.com"
 )
 
-//数据来源渠道
+// 数据来源渠道
 const (
 	DATA_SOURCE_THS                          = iota + 1 //同花顺
 	DATA_SOURCE_WIND                                    //wind->2
@@ -121,6 +121,9 @@ const (
 	DATA_SOURCE_PREDICT_CALCULATE_NH                    //预测指标 - 计算指标(年化)->55
 	DATA_SOURCE_PREDICT_CALCULATE_KSZS                  //预测指标 - 计算指标(扩散指数)->56
 	DATA_SOURCE_BAIINFO                                 //百川盈孚 ->57
+	DATA_SOURCE_STOCK_PLANT                             //存量装置 ->58
+	DATA_SOURCE_CALCULATE_CORRELATION                   //相关性计算->59
+	DATA_SOURCE_NATIONAL_STATISTICS                     //国家统计局->60
 )
 
 //http://datawind.hzinsights.com:8040/hz_server
@@ -135,7 +138,7 @@ var Hz_Data_WIND_Url_List = []string{"http://datawind.hzinsights.com:8040/", "ht
 
 //var Hz_Data_WIND_Url_List = []string{"http://datawind2.hzinsights.com:8040/", "http://datawind3.hzinsights.com:8040/"}
 
-//数据刷新频率
+// 数据刷新频率
 const (
 	DATA_REFRESH        = 7 //7个单位,日/周/月/季度/年
 	DATA_END_DATE_LIMIT = 4 //数据结束日期为,当前日期,加上4年时间
@@ -145,7 +148,7 @@ var (
 	Hz_Server_Data_Url string //同花顺,万得接口服务地址(阿里云windows服务器地址)
 )
 
-//EDB_LIB
+// EDB_LIB
 var (
 	APP_EDB_LIB_NAME_EN = "hongze_edb_lib"
 	EDB_LIB_Md5_KEY     = "GuRaB6dY1bXOJcwG"
@@ -164,7 +167,7 @@ const (
 	SendTemplateMsgAuthorization = "dc855fce962a639faa779cbdd4cd332f"
 )
 
-//模板消息推送类型
+// 模板消息推送类型
 const (
 	TEMPLATE_MSG_YB_VOICE_BROADCAST = 20 //研报语音播报
 )