edb_info_sync.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package data
  2. import (
  3. "eta_gn/eta_task/models/data_manage"
  4. "eta_gn/eta_task/utils"
  5. "strings"
  6. "sync"
  7. )
  8. var manualLock sync.Mutex
  9. func SyncManualDataBase() {
  10. var err error
  11. errMsgList := make([]string, 0)
  12. manualLock.Lock()
  13. defer func() {
  14. manualLock.Unlock()
  15. if len(errMsgList) > 0 {
  16. errMsg := strings.Join(errMsgList, "\n")
  17. utils.FileLog.Info("SyncManualDataBase Err:" + errMsg)
  18. go utils.SendEmailByHongze("同步手工数据失败", "同步手工数据失败 Err:"+errMsg, utils.RefreshEdbInfoEmailSendToUsers, "", "")
  19. }
  20. }()
  21. var condition string
  22. var pars []interface{}
  23. condition += " AND source=? "
  24. pars = append(pars, utils.DATA_SOURCE_MANUAL)
  25. items, err := data_manage.GetEdbInfoByCondition(condition, pars, 0)
  26. if err != nil {
  27. errMsgList = append(errMsgList, "获取指标失败 ;Err:"+err.Error())
  28. return
  29. }
  30. for _, v := range items {
  31. startDate := v.StartDate.Format(utils.FormatDate)
  32. resp, err := RefreshEdbData(v.EdbInfoId, v.Source, v.SubSource, v.EdbCode, startDate)
  33. if err != nil {
  34. errMsgList = append(errMsgList, "RefreshEdbData Err:"+err.Error())
  35. continue
  36. }
  37. if resp.Ret != 200 {
  38. errMsgList = append(errMsgList, "RefreshEdbData Err:"+resp.Msg+";ErrMsg:"+resp.ErrMsg)
  39. continue
  40. }
  41. }
  42. }