package data import ( "context" "errors" "eta/eta_task/models/data_manage" "eta/eta_task/services/alarm_msg" "eta/eta_task/utils" "fmt" "strings" "sync" ) // RefreshDataFromThs 刷新同花顺数据 func RefreshDataFromThs(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromThs Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromThs ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_THS) items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0) if err != nil { err = errors.New("GetEdbInfoByCondition:" + err.Error()) return } 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromWind 刷新万得数据 func RefreshDataFromWind(wg *sync.WaitGroup) (err error) { errMsgList := make([]string, 0) defer func() { if err != nil { fmt.Println("RefreshDataFromWind Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromWind ErrMsg:"+err.Error(), 3) } if len(errMsgList) > 0 { errMsg := "RefreshDataFromWind Err:" + strings.Join(errMsgList, "\n") fmt.Println(errMsg) go alarm_msg.SendAlarmMsg(errMsg, 3) } wg.Done() }() var condition string var pars []interface{} condition += ` AND source=? AND no_update = 0 ` pars = append(pars, utils.DATA_SOURCE_WIND) items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0) if err != nil { return err } 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 { errMsgList = append(errMsgList, v.EdbCode+"RefreshEdbData Err:"+err.Error()) continue } if resp.Ret != 200 { errMsgList = append(errMsgList, v.EdbCode+";RefreshEdbData Err:"+resp.Msg+";ErrMsg:"+resp.ErrMsg) continue } } fmt.Println("wind刷新结束") return err } // RefreshDataFromPb 刷新彭博数据 func RefreshDataFromPb(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromPb Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromPb ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_PB) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromPbFinance 刷新彭博财务指标数据 func RefreshDataFromPbFinance(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromPb Err:" + err.Error()) //go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromPb ErrMsg:"+err.Error(), utils.EmailSendToUsers) go alarm_msg.SendAlarmMsg("RefreshDataFromPb ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_PB_FINANCE) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromCalculateAll 刷新所有计算指标 func RefreshDataFromCalculateAll() (err error) { var errmsg string defer func() { if err != nil { utils.FileLog.Info("RefreshDataFromCalculateAll Err:" + err.Error()) //go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCalculateAll ErrMsg:"+err.Error(), utils.EmailSendToUsers) go alarm_msg.SendAlarmMsg("RefreshDataFromCalculateAll ErrMsg:"+err.Error(), 3) } }() var condition string var pars []interface{} // 查询 普通指标的计算指标 condition += " AND edb_type=? AND edb_info_type=? " pars = append(pars, 2, 0) items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0) if err != nil { return err } for _, v := range items { source := v.Source startDate := v.StartDate.Format(utils.FormatDate) if startDate == "0001-01-01" { continue } fmt.Println(v.EdbInfoId, v.EdbCode, v.EdbName, v.SourceName, source) fmt.Println("RefreshEdbCalculateData", v.EdbInfoId, v.EdbCode, startDate) result, err := RefreshEdbCalculateData(v.EdbInfoId, v.EdbCode, startDate) if err != nil { errmsg += v.EdbCode + "," err = errors.New("RefreshEdbCalculateData Err:" + err.Error()) //return err continue } if result.Ret != 200 { errmsg += v.EdbCode + "," err = errors.New("RefreshEdbCalculateData err;msg:" + result.Msg + ";errMsg:" + result.ErrMsg) //return err continue } } return err } // RefreshPredictDataFromCalculateAll 刷新所有预测计算指标 func RefreshPredictDataFromCalculateAll() (err error) { defer func() { if err != nil { utils.FileLog.Info("RefreshDataFromCalculateAll Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromCalculateAll ErrMsg:"+err.Error(), 3) } }() var condition string var pars []interface{} // 查询 普通指标的计算指标 condition += " AND edb_type=? AND edb_info_type=? " pars = append(pars, 2, 1) items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0) if err != nil { return err } for _, v := range items { source := v.Source startDate := v.StartDate.Format(utils.FormatDate) if startDate == "0001-01-01" { continue } fmt.Println(v.EdbInfoId, v.EdbCode, v.EdbName, v.SourceName, source, "======RefreshPredictEdbCalculateData:", startDate) result, err := RefreshPredictEdbCalculateData(v.EdbInfoId, v.EdbCode, startDate) if err != nil { err = errors.New("RefreshPredictEdbCalculateData Err:" + err.Error()) return err } if result.Ret != 200 { err = errors.New("RefreshPredictEdbCalculateData err;msg:" + result.Msg + ";errMsg:" + result.ErrMsg) return err } } return err } // RefreshDataFromManual 刷新手工指标数据 func RefreshDataFromManual(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromManual Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromManual ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_MANUAL) items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0) if err != nil { return errors.New("GetEdbInfoByCondition:" + err.Error()) } for _, v := range items { startDate := v.StartDate.Format(utils.FormatDate) resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate) if err != nil { return errors.New("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } func ResetEdbInfoIsUpdate(cont context.Context) (err error) { go data_manage.ResetEdbInfoIsUpdate() return nil } // RefreshDataFromGoogleTravel RefreshDataFromEic 刷新谷歌出行数据 func RefreshDataFromGoogleTravel(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromGoogleTravel Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromGoogleTravel ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_GOOGLE_TRAVEL) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromEiaSteo 刷新eia steo 报告数据 func RefreshDataFromEiaSteo(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromEiaSteo Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromEiaSteo ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_EIA_STEO) 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("RefreshDataFromEiaSteoData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshDataFromEiaSteoData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromZz 刷新郑商所数据 func RefreshDataFromZz(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromZz Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromZz ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_ZZ) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromSh 刷新上期所数据 func RefreshDataFromSh(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromSh Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromSh ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_SH) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromShfe 刷新上期能源数据 func RefreshDataFromShfe(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromShfe Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromShfe ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_SHFE) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromCffex 刷新中金所数据 func RefreshDataFromCffex(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromCffex Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromCffex ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_CFFEX) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromDl 刷新大商所数据 func RefreshDataFromDl(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromDl Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromDl ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_DL) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // 刷新有色数据 func RefreshDataFromYs(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromYs Err:" + err.Error()) //go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromYs ErrMsg:"+err.Error(), utils.EmailSendToUsers) go alarm_msg.SendAlarmMsg("RefreshDataFromYs ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_YS) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // 刷新钢联数据 func RefreshDataFromGl(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromGl Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromGl ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_GL) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromLt 刷新路透数据 func RefreshDataFromLt(wg *sync.WaitGroup) (err error) { errMsgList := make([]string, 0) defer func() { if len(errMsgList) > 0 { fmt.Println("RefreshDataFromLt Err:", errMsgList) go alarm_msg.SendAlarmMsg("RefreshDataFromLt ErrMsg:"+strings.Join(errMsgList, `
`), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_LT) items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0) if err != nil { errMsgList = append(errMsgList, "GetEdbInfoByCondition:"+err.Error()) return errors.New("GetEdbInfoByCondition:" + err.Error()) } for _, v := range items { startDate := v.StartDate.Format(utils.FormatDate) resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate) if err != nil { errMsgList = append(errMsgList, "RefreshEdbData Err:"+err.Error()) continue } if resp.Ret != 200 { errMsgList = append(errMsgList, "RefreshEdbData Err:"+resp.Msg+";ErrMsg:"+resp.ErrMsg) continue } } return err } // RefreshDataFromCoal 刷新煤炭网数据 func RefreshDataFromCoal(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromCoal Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromCoal ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_COAL) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromMysteelChemical 刷新钢联化工数据 func RefreshDataFromMysteelChemical(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromMysteelChemical Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromMysteelChemical ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_MYSTEEL_CHEMICAL) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromComTrade 刷新 UN 数据 func RefreshDataFromComTrade(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromComTrade Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromComTrade ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_COM_TRADE) 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("RefreshDataFromComTrade Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshDataFromComTrade Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err } // RefreshDataFromSci 刷新 卓创 数据 func RefreshDataFromSci(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromSci Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromSci ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_SCI) 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("RefreshDataFromSci Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshDataFromSci Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } 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 } // RefreshDataFromEic 刷欧洲天然气数据 func RefreshDataFromEic(wg *sync.WaitGroup) (err error) { defer func() { if err != nil { fmt.Println("RefreshDataFromEic Err:" + err.Error()) go alarm_msg.SendAlarmMsg("RefreshDataFromEic ErrMsg:"+err.Error(), 3) } wg.Done() }() var condition string var pars []interface{} condition += " AND source=? " pars = append(pars, utils.DATA_SOURCE_GIE) 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("RefreshEdbData Err:" + err.Error()) } if resp.Ret != 200 { return errors.New("RefreshEdbData Err:" + resp.Msg + ";ErrMsg:" + resp.ErrMsg) } } return err }