|
@@ -7,6 +7,7 @@ import (
|
|
|
"eta/eta_task/services/alarm_msg"
|
|
|
"eta/eta_task/utils"
|
|
|
"fmt"
|
|
|
+ "strconv"
|
|
|
"strings"
|
|
|
"sync"
|
|
|
)
|
|
@@ -1028,3 +1029,71 @@ func RefreshDataFromEic(wg *sync.WaitGroup) (err error) {
|
|
|
}
|
|
|
return err
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+func RefreshDataFromBridge(wg *sync.WaitGroup) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("RefreshDataFromBridge ErrMsg: %s", err.Error())
|
|
|
+ go alarm_msg.SendAlarmMsg("RefreshDataFromBridge ErrMsg: "+err.Error(), 3)
|
|
|
+ }
|
|
|
+ wg.Done()
|
|
|
+ }()
|
|
|
+
|
|
|
+
|
|
|
+ cond := ` AND from_bridge = 1`
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
+ sources, e := data_manage.GetEdbSourceItemsByCondition(cond, pars, []string{}, "")
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("获取来自桥接服务的数据源失败, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sourceArr := make([]string, 0)
|
|
|
+ for _, v := range sources {
|
|
|
+ if v.EdbSourceId <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ sourceArr = append(sourceArr, strconv.Itoa(v.EdbSourceId))
|
|
|
+ }
|
|
|
+ if len(sourceArr) == 0 {
|
|
|
+ utils.FileLog.Info("RefreshDataFromBridge无来源")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ edbCond := fmt.Sprintf(` AND source IN (%s)`, utils.GetOrmInReplace(len(sourceArr)))
|
|
|
+ edbPars := make([]interface{}, 0)
|
|
|
+ edbPars = append(edbPars, sourceArr)
|
|
|
+ items, e := data_manage.GetEdbInfoByCondition(edbCond, edbPars, 0)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("GetEdbInfoByCondition err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range items {
|
|
|
+ startDate := ""
|
|
|
+ if v.Frequency == "日度" {
|
|
|
+ startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
|
|
|
+ } else if v.Frequency == "周度" {
|
|
|
+ startDate = v.EndDate.AddDate(0, 0, -(utils.DATA_REFRESH * 7)).Format(utils.FormatDate)
|
|
|
+ } else if v.Frequency == "月度" {
|
|
|
+ startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH, 0).Format(utils.FormatDate)
|
|
|
+ } else if v.Frequency == "季度" {
|
|
|
+ startDate = v.EndDate.AddDate(0, -utils.DATA_REFRESH*3, 0).Format(utils.FormatDate)
|
|
|
+ } else if v.Frequency == "年度" {
|
|
|
+ startDate = v.EndDate.AddDate(-utils.DATA_REFRESH, 0, 0).Format(utils.FormatDate)
|
|
|
+ } else {
|
|
|
+ startDate = v.EndDate.AddDate(0, 0, -utils.DATA_REFRESH).Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+ resp, e := RefreshEdbData(v.EdbInfoId, v.Source, v.EdbCode, startDate)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("RefreshEdbData err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if resp.Ret != 200 {
|
|
|
+ err = fmt.Errorf("RefreshEdbData Err: %s; ErrMsg: %s", resp.Msg, resp.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|