future_edb_info.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package future_good
  2. import (
  3. "eta_gn/eta_api/models/data_manage/future_good"
  4. "eta_gn/eta_api/services/alarm_msg"
  5. "eta_gn/eta_api/utils"
  6. "fmt"
  7. "time"
  8. )
  9. func FutureGoodEdbInfoRefreshAllFromBase(futureGoodEdbInfoList []*future_good.FutureGoodEdbInfo, refreshAll bool) (err error) {
  10. var errMsg string
  11. defer func() {
  12. if err != nil {
  13. fmt.Println("FutureGoodEdbInfoRefreshAllFromBase Err:" + err.Error() + ";errMsg:" + errMsg)
  14. go alarm_msg.SendAlarmMsg("FutureGoodEdbInfoRefreshAllFromBase,Err"+err.Error()+";errMsg:"+errMsg, 3)
  15. }
  16. }()
  17. var startDate string
  18. for _, bv := range futureGoodEdbInfoList {
  19. if bv.StartDate == "0000-00-00" {
  20. continue
  21. }
  22. startDate = ``
  23. if refreshAll { //刷新所有数据,用开始时间作为起始日期去刷新
  24. sTime, err := time.Parse(utils.FormatDate, bv.StartDate)
  25. if err != nil {
  26. return err
  27. }
  28. startDate = sTime.Format(utils.FormatDate)
  29. } else {
  30. sTime, err := time.Parse(utils.FormatDate, bv.EndDate)
  31. if err != nil {
  32. return err
  33. }
  34. limitDay := utils.DATA_START_REFRESH_LIMIT
  35. startDate = sTime.AddDate(0, 0, -limitDay).Format(utils.FormatDate)
  36. }
  37. result, err := RefreshEdbData(bv.FutureGoodEdbInfoId, bv.FutureGoodEdbCode, startDate)
  38. if err != nil {
  39. fmt.Println(bv.FutureGoodEdbInfoId, "FutureGoodRefreshBaseEdbData err", time.Now())
  40. errMsg = "FutureGoodRefreshBaseEdbData Err:" + err.Error()
  41. return err
  42. }
  43. if result.Ret != 200 {
  44. fmt.Println(bv.FutureGoodEdbInfoId, "FutureGoodRefreshBaseEdbData err;msg:", result.Msg, ";errMsg:", result.ErrMsg)
  45. errMsg = fmt.Sprint(bv.FutureGoodEdbInfoId, "FutureGoodRefreshBaseEdbData err;msg:", result.Msg, ";errMsg:", result.ErrMsg)
  46. return fmt.Errorf("刷新失败, err:%s", errMsg)
  47. }
  48. }
  49. for _, bv := range futureGoodEdbInfoList {
  50. if bv.ParentId == 0 {
  51. RefreshEdbRelation(bv.FutureGoodEdbInfoId)
  52. }
  53. }
  54. return err
  55. }