edb_info.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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 _, v := range items {
  62. startDate := v.EndDate.AddDate(0, 0, -3).Format(utils.FormatDate)
  63. endDate := time.Now().Format(utils.FormatDate)
  64. err = SyncEdbDataByWind(int64(v.EdbInfoId), v.EdbCode, startDate, endDate)
  65. if err != nil {
  66. return err
  67. }
  68. minDate, maxDate, err := data_manage.GetEdbDataWindMaxOrMinDate(v.EdbInfoId)
  69. if err != nil {
  70. return err
  71. }
  72. fmt.Println("minDate:" + minDate + ";maxDate:" + maxDate)
  73. err = data_manage.ModifyEdbDataInfoDate(v.EdbInfoId, maxDate)
  74. if err != nil {
  75. return err
  76. }
  77. }
  78. return err
  79. }
  80. //刷新彭博数据
  81. func RefreshDataFromPb() (err error) {
  82. defer func() {
  83. if err != nil {
  84. fmt.Println("RefreshDataFromPb Err:" + err.Error())
  85. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromPb ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  86. }
  87. }()
  88. var condition string
  89. var pars []interface{}
  90. condition += " AND source=? "
  91. pars = append(pars, utils.DATA_SOURCE_PB)
  92. items, err := data_manage.GetEdbInfoByCondition(condition, pars)
  93. if err != nil {
  94. return errors.New("GetEdbInfoByCondition:" + err.Error())
  95. }
  96. for _, v := range items {
  97. startDate := v.EndDate.AddDate(0, 0, -3).Format(utils.FormatDateUnSpace)
  98. endDate := time.Now().Format(utils.FormatDateUnSpace)
  99. fmt.Println(startDate, endDate)
  100. err = SyncEdbDataByPb(int64(v.EdbInfoId), v.EdbCode, startDate, endDate)
  101. if err != nil {
  102. return errors.New("SyncEdbDataByPb:" + err.Error())
  103. }
  104. minDate, maxDate, err := data_manage.GetEdbDataPbMaxOrMinDate(v.EdbInfoId)
  105. if err != nil {
  106. return errors.New("GetEdbDataThsMaxOrMinDate:" + err.Error())
  107. }
  108. fmt.Println("minDate:" + minDate + ";maxDate:" + maxDate)
  109. err = data_manage.ModifyEdbDataInfoDate(v.EdbInfoId, maxDate)
  110. if err != nil {
  111. return errors.New("ModifyEdbDataInfoDate:" + err.Error())
  112. }
  113. }
  114. return err
  115. }
  116. func CheckDataInterface() (err error) {
  117. checkUrl := utils.Hz_Data_Url + `hz_server`
  118. body, err := http.Get(checkUrl)
  119. if err != nil {
  120. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"检测数据接口:失败提醒", "CheckDataInterface ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  121. }
  122. result := string(body)
  123. if result != "1" {
  124. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"检测数据接口:失败提醒", "CheckDataInterface ErrMsg:"+string(body), utils.EmailSendToUsers)
  125. }
  126. return
  127. }