base_from_kpler.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package data
  2. import (
  3. "context"
  4. "eta/eta_task/models/data_manage"
  5. "eta/eta_task/services/alarm_msg"
  6. "eta/eta_task/utils"
  7. "fmt"
  8. "time"
  9. )
  10. // RefreshBaseFromKplerIndex 刷新通过api方式对接的Kpler数据
  11. func RefreshBaseFromKplerIndex(cont context.Context) (err error) {
  12. defer func() {
  13. if err != nil {
  14. tips := fmt.Sprintf("RefreshBaseFromKplerIndex-刷新Kpler数据失败, %v", err)
  15. utils.FileLog.Info(tips)
  16. go alarm_msg.SendAlarmMsg(tips, 3)
  17. }
  18. }()
  19. kplerObj := new(data_manage.BaseFromKplerIndex)
  20. num, err := kplerObj.GetApiNum()
  21. if err != nil {
  22. utils.FileLog.Info(fmt.Sprintf("RefreshBaseFromKplerIndex-获取需要刷新的数据失败, %v", err))
  23. return
  24. }
  25. if num == 0 {
  26. utils.FileLog.Info("RefreshBaseFromKplerIndex-没有需要刷新的数据")
  27. return
  28. }
  29. frequencys := []string{"日度", "周度", "月度", "季度", "年度"}
  30. for _, frequency := range frequencys {
  31. startDate := time.Now().Format(utils.FormatDate)
  32. if frequency == "周度" {
  33. startDate = time.Now().AddDate(0, 0, -5).Format(utils.FormatDate)
  34. } else if frequency == "月度" {
  35. startDate = time.Now().AddDate(0, -1, 0).Format(utils.FormatDate)
  36. } else if frequency == "季度" {
  37. startDate = time.Now().AddDate(0, -3, 0).Format(utils.FormatDate)
  38. } else if frequency == "年度" {
  39. startDate = time.Now().AddDate(-1, 0, 0).Format(utils.FormatDate)
  40. }
  41. refreshUrl := "kpler/index/refresh_by_api"
  42. param := make(map[string]interface{})
  43. param["Frequency"] = frequency
  44. param["StartDate"] = startDate
  45. res, e := postRefreshEdbData(param, refreshUrl)
  46. if e != nil {
  47. utils.FileLog.Info(fmt.Sprintf("RefreshBaseFromKplerIndex-postRefreshEdbData, frequency: %s, err: %v", frequency, e))
  48. continue
  49. }
  50. if res != nil && res.Ret != 200 {
  51. utils.FileLog.Info(fmt.Sprintf("RefreshBaseFromKplerIndex-postRefreshEdbData, frequency: %s, Ret: %d, ErrMsg: %s", frequency, res.Ret, res.ErrMsg))
  52. continue
  53. }
  54. }
  55. return
  56. }