|
@@ -633,6 +633,276 @@ func RefreshDataFromGl(wg *sync.WaitGroup) (err error) {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
+// RefreshDataFromSh 刷新上期所数据
|
|
|
+func RefreshDataFromSh(wg *sync.WaitGroup) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("RefreshDataFromSh Err:" + err.Error())
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromSh ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ 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())
|
|
|
+ }
|
|
|
+
|
|
|
+ var endDate string
|
|
|
+ endDate = time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+ fmt.Println(startDate, endDate)
|
|
|
+ err = data_manage.RefreshEdbDataBySh(v.EdbInfoId, v.EdbCode, startDate, endDate)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("RefreshEdbDataBySh:" + err.Error())
|
|
|
+ }
|
|
|
+ item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if item != nil {
|
|
|
+ err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+// RefreshDataFromDl 刷新大商所数据
|
|
|
+func RefreshDataFromDl(wg *sync.WaitGroup) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("RefreshDataFromDl Err:" + err.Error())
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromDl ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ 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())
|
|
|
+ }
|
|
|
+
|
|
|
+ var endDate string
|
|
|
+ endDate = time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+ fmt.Println(startDate, endDate)
|
|
|
+ err = data_manage.RefreshEdbDataByDl(v.EdbInfoId, v.EdbCode, startDate, endDate)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("RefreshEdbDataByDl:" + err.Error())
|
|
|
+ }
|
|
|
+ item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if item != nil {
|
|
|
+ err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+// RefreshDataFromShfe 刷新上期能源数据
|
|
|
+func RefreshDataFromShfe(wg *sync.WaitGroup) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("RefreshDataFromShfe Err:" + err.Error())
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromShfe ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ 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())
|
|
|
+ }
|
|
|
+
|
|
|
+ var endDate string
|
|
|
+ endDate = time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+ fmt.Println(startDate, endDate)
|
|
|
+ err = data_manage.RefreshEdbDataByShfe(v.EdbInfoId, v.EdbCode, startDate, endDate)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("RefreshEdbDataByShfe:" + err.Error())
|
|
|
+ }
|
|
|
+ item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if item != nil {
|
|
|
+ err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+// RefreshDataFromCffex 刷新中金所数据
|
|
|
+func RefreshDataFromCffex(wg *sync.WaitGroup) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("RefreshDataFromCffex Err:" + err.Error())
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromCffex ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ 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())
|
|
|
+ }
|
|
|
+
|
|
|
+ var endDate string
|
|
|
+ endDate = time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+ fmt.Println(startDate, endDate)
|
|
|
+ err = data_manage.RefreshEdbDataByCffex(v.EdbInfoId, v.EdbCode, startDate, endDate)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("RefreshEdbDataByCffex:" + err.Error())
|
|
|
+ }
|
|
|
+ item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if item != nil {
|
|
|
+ err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+// RefreshDataFromZz 刷新郑商所数据
|
|
|
+func RefreshDataFromZz(wg *sync.WaitGroup) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("RefreshDataFromZz Err:" + err.Error())
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromZz ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ 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())
|
|
|
+ }
|
|
|
+
|
|
|
+ var endDate string
|
|
|
+ endDate = time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+ fmt.Println(startDate, endDate)
|
|
|
+ err = data_manage.RefreshEdbDataByZz(v.EdbInfoId, v.EdbCode, startDate, endDate)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("RefreshEdbDataByZz:" + err.Error())
|
|
|
+ }
|
|
|
+ item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if item != nil {
|
|
|
+ err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
func ResetEdbInfoIsUpdate(cont context.Context) (err error) {
|
|
|
go data_manage.ResetEdbInfoIsUpdate()
|
|
|
return nil
|