factor_edb_series.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package data
  2. import (
  3. "encoding/json"
  4. "eta_gn/eta_task/models"
  5. "eta_gn/eta_task/models/data_manage"
  6. "eta_gn/eta_task/services/alarm_msg"
  7. "eta_gn/eta_task/utils"
  8. "fmt"
  9. )
  10. func RefreshFactorEdbCalculateData() (err error) {
  11. defer func() {
  12. if err != nil {
  13. tips := fmt.Sprintf("RefreshFactorEdbCalculateData ErrMsg: %v", err)
  14. utils.FileLog.Info(tips)
  15. go alarm_msg.SendAlarmMsg(tips, 3)
  16. }
  17. }()
  18. mappingOb := new(data_manage.FactorEdbSeriesMapping)
  19. list, e := mappingOb.GetItemsByCondition(``, make([]interface{}, 0), []string{fmt.Sprintf("DISTINCT %s", mappingOb.Cols().EdbInfoId), mappingOb.Cols().EdbCode}, "")
  20. if e != nil {
  21. err = fmt.Errorf("获取系列因子指标失败, err: %v", e)
  22. return
  23. }
  24. if len(list) == 0 {
  25. return
  26. }
  27. for _, v := range list {
  28. _, e = PostRefreshFactorEdbRecalculate(v.EdbInfoId, v.EdbCode)
  29. if e != nil {
  30. utils.FileLog.Info(fmt.Sprintf("PostRefreshFactorEdbRecalculate err, EdbInfoId: %d, err: %v", v.EdbInfoId, e))
  31. continue
  32. }
  33. }
  34. return
  35. }
  36. func RefreshFactorEdbChartCalculateData() (err error) {
  37. defer func() {
  38. if err != nil {
  39. tips := fmt.Sprintf("RefreshFactorEdbChartCalculateData ErrMsg: %v", err)
  40. utils.FileLog.Info(tips)
  41. go alarm_msg.SendAlarmMsg(tips, 3)
  42. }
  43. }()
  44. mappingOb := new(data_manage.FactorEdbSeriesChartMapping)
  45. list, e := mappingOb.GetItemsByCondition(``, make([]interface{}, 0), []string{fmt.Sprintf("DISTINCT %s", mappingOb.Cols().ChartInfoId)}, "")
  46. if e != nil {
  47. err = fmt.Errorf("获取指标系列关联图表失败, err: %v", e)
  48. return
  49. }
  50. if len(list) == 0 {
  51. return
  52. }
  53. for _, v := range list {
  54. _, e = PostRefreshFactorEdbChartRecalculate(v.ChartInfoId)
  55. if e != nil {
  56. utils.FileLog.Info(fmt.Sprintf("PostRefreshFactorEdbChartRecalculate err, ChartInfoId: %d, err: %v", v.ChartInfoId, e))
  57. continue
  58. }
  59. }
  60. return
  61. }
  62. func PostRefreshFactorEdbRecalculate(edbInfoId int, edbCode string) (resp *models.BaseResponse, err error) {
  63. param := make(map[string]interface{})
  64. param["EdbInfoId"] = edbInfoId
  65. param["EdbCode"] = edbCode
  66. postUrl := fmt.Sprintf("%s%s", utils.EDB_LIB_URL, "factor_edb_series/recalculate")
  67. postData, e := json.Marshal(param)
  68. if e != nil {
  69. err = fmt.Errorf("param json err: %v", e)
  70. return
  71. }
  72. result, e := HttpPost(postUrl, string(postData), "application/json")
  73. if e != nil {
  74. err = fmt.Errorf("http post err: %v", e)
  75. return
  76. }
  77. utils.FileLog.Info("PostRefreshFactorEdbRecalculate:" + postUrl + ";" + string(postData) + ";result:" + string(result))
  78. if e = json.Unmarshal(result, &resp); e != nil {
  79. err = fmt.Errorf("resp unmarshal err: %v", e)
  80. return
  81. }
  82. return
  83. }
  84. func PostRefreshFactorEdbChartRecalculate(chartInfoId int) (resp *models.BaseResponse, err error) {
  85. param := make(map[string]interface{})
  86. param["ChartInfoId"] = chartInfoId
  87. postUrl := fmt.Sprintf("%s%s", utils.EDB_LIB_URL, "factor_edb_series/chart_recalculate")
  88. postData, e := json.Marshal(param)
  89. if e != nil {
  90. err = fmt.Errorf("param json err: %v", e)
  91. return
  92. }
  93. result, e := HttpPost(postUrl, string(postData), "application/json")
  94. if e != nil {
  95. err = fmt.Errorf("http post err: %v", e)
  96. return
  97. }
  98. utils.FileLog.Info("PostRefreshFactorEdbChartRecalculate:" + postUrl + ";" + string(postData) + ";result:" + string(result))
  99. if e = json.Unmarshal(result, &resp); e != nil {
  100. err = fmt.Errorf("resp unmarshal err: %v", e)
  101. return
  102. }
  103. return
  104. }