edb_info.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package data_manage
  2. import (
  3. "errors"
  4. "fmt"
  5. "hongze/hongze_task/models/data_manage"
  6. "hongze/hongze_task/utils"
  7. "rdluck_tools/http"
  8. "time"
  9. )
  10. //刷新同花顺数据
  11. func RefreshDataFromThs() (err error) {
  12. defer func() {
  13. if err != nil {
  14. fmt.Println("RefreshDataFromThs Err:" + err.Error())
  15. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromThs ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  16. }
  17. }()
  18. var condition string
  19. var pars []interface{}
  20. condition += " AND source=? "
  21. pars = append(pars, utils.DATA_SOURCE_THS)
  22. items, err := data_manage.GetEdbInfoByCondition(condition, pars)
  23. if err != nil {
  24. return errors.New("GetEdbInfoByCondition:" + err.Error())
  25. }
  26. for _, v := range items {
  27. startDate := v.EndDate.AddDate(0, 0, -3).Format(utils.FormatDate)
  28. endDate := time.Now().Format(utils.FormatDate)
  29. err = SyncEdbDataByThs(int64(v.EdbInfoId), v.EdbCode, startDate, endDate)
  30. if err != nil {
  31. return errors.New("SyncEdbDataByThs:" + err.Error())
  32. }
  33. minDate, maxDate, err := data_manage.GetEdbDataThsMaxOrMinDate(v.EdbInfoId)
  34. if err != nil {
  35. return errors.New("GetEdbDataThsMaxOrMinDate:" + err.Error())
  36. }
  37. fmt.Println("minDate:" + minDate + ";maxDate:" + maxDate)
  38. err = data_manage.ModifyEdbDataInfoDate(v.EdbInfoId, maxDate)
  39. if err != nil {
  40. return errors.New("ModifyEdbDataInfoDate:" + err.Error())
  41. }
  42. }
  43. return err
  44. }
  45. //刷新万得数据
  46. func RefreshDataFromWind() (err error) {
  47. defer func() {
  48. if err != nil {
  49. fmt.Println("RefreshDataFromWind Err:" + err.Error())
  50. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromWind ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  51. }
  52. }()
  53. var condition string
  54. var pars []interface{}
  55. condition += " AND source=? "
  56. pars = append(pars, utils.DATA_SOURCE_WIND)
  57. items, err := data_manage.GetEdbInfoByCondition(condition, pars)
  58. if err != nil {
  59. return err
  60. }
  61. for k, v := range items {
  62. fmt.Println("line 67:", k, v.EdbCode)
  63. startDate := v.EndDate.AddDate(0, 0, -3).Format(utils.FormatDate)
  64. endDate := time.Now().Format(utils.FormatDate)
  65. err = SyncEdbDataByWind(int64(v.EdbInfoId), v.EdbCode, startDate, endDate)
  66. if err != nil {
  67. return err
  68. }
  69. minDate, maxDate, err := data_manage.GetEdbDataWindMaxOrMinDate(v.EdbInfoId)
  70. if err != nil {
  71. return err
  72. }
  73. fmt.Println("minDate:" + minDate + ";maxDate:" + maxDate)
  74. err = data_manage.ModifyEdbDataInfoDate(v.EdbInfoId, maxDate)
  75. if err != nil {
  76. return err
  77. }
  78. }
  79. return err
  80. }
  81. //刷新彭博数据
  82. func RefreshDataFromPb() (err error) {
  83. defer func() {
  84. if err != nil {
  85. fmt.Println("RefreshDataFromPb Err:" + err.Error())
  86. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromPb ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  87. }
  88. }()
  89. var condition string
  90. var pars []interface{}
  91. condition += " AND source=? "
  92. pars = append(pars, utils.DATA_SOURCE_PB)
  93. items, err := data_manage.GetEdbInfoByCondition(condition, pars)
  94. if err != nil {
  95. return errors.New("GetEdbInfoByCondition:" + err.Error())
  96. }
  97. for _, v := range items {
  98. startDate := v.EndDate.AddDate(0, 0, -3).Format(utils.FormatDateUnSpace)
  99. endDate := time.Now().Format(utils.FormatDateUnSpace)
  100. fmt.Println(startDate, endDate)
  101. err = SyncEdbDataByPb(int64(v.EdbInfoId), v.EdbCode, startDate, endDate)
  102. if err != nil {
  103. return errors.New("SyncEdbDataByPb:" + err.Error())
  104. }
  105. minDate, maxDate, err := data_manage.GetEdbDataPbMaxOrMinDate(v.EdbInfoId)
  106. if err != nil {
  107. return errors.New("GetEdbDataThsMaxOrMinDate:" + err.Error())
  108. }
  109. fmt.Println("minDate:" + minDate + ";maxDate:" + maxDate)
  110. err = data_manage.ModifyEdbDataInfoDate(v.EdbInfoId, maxDate)
  111. if err != nil {
  112. return errors.New("ModifyEdbDataInfoDate:" + err.Error())
  113. }
  114. }
  115. return err
  116. }
  117. func CheckDataInterface() (err error) {
  118. go func() {
  119. checkUrl := utils.Hz_Data_Url + `hz_server`
  120. body, err := http.Get(checkUrl)
  121. if err != nil {
  122. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"检测数据接口:失败提醒", "CheckDataInterface ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  123. }
  124. result := string(body)
  125. if result != "1" {
  126. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"检测数据接口:失败提醒", "CheckDataInterface ErrMsg:"+string(body), utils.EmailSendToUsers)
  127. }
  128. }()
  129. return
  130. }