|
@@ -5,9 +5,11 @@ import (
|
|
|
"eta/eta_bridge/models/jiayue"
|
|
|
"eta/eta_bridge/models/response"
|
|
|
"eta/eta_bridge/services/alarm_msg"
|
|
|
+ "eta/eta_bridge/utils"
|
|
|
"fmt"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
|
|
@@ -36,7 +38,7 @@ func GetIndexFromJiaYue(indexCode string, sourceArr []string) (data *response.In
|
|
|
indexPars = append(indexPars, sourceArr)
|
|
|
}
|
|
|
|
|
|
- indexes, e := jiayue.GetDictIndex(indexCond, indexPars)
|
|
|
+ indexes, e := jiayue.GetDictIndex(indexCond, indexPars, "")
|
|
|
if e != nil {
|
|
|
err = fmt.Errorf("GetDictIndex err: %s", e.Error())
|
|
|
return
|
|
@@ -51,15 +53,11 @@ func GetIndexFromJiaYue(indexCode string, sourceArr []string) (data *response.In
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- data = new(response.IndexResp)
|
|
|
- data.Id = index.Id
|
|
|
- data.IndexCode = indexCode
|
|
|
- data.IndexName = index.Name
|
|
|
- data.Unit = index.Unit
|
|
|
- data.Frequency = index.Frequency
|
|
|
- data.LastDate = index.DateLast
|
|
|
- data.LastUpdateTime = index.TimeLastUpdate
|
|
|
- data.Status = index.Status
|
|
|
+ var (
|
|
|
+ indexData []jiayue.DictData
|
|
|
+ dictMenu []jiayue.DictCategory
|
|
|
+ )
|
|
|
+ data = FormatItem2Resp(index, indexData, dictMenu)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -89,7 +87,7 @@ func GetIndexAndDataFromJiaYue(indexCode, startDate, endDate string, sourceArr [
|
|
|
indexPars = append(indexPars, sourceArr)
|
|
|
}
|
|
|
|
|
|
- indexes, e := jiayue.GetDictIndex(indexCond, indexPars)
|
|
|
+ indexes, e := jiayue.GetDictIndex(indexCond, indexPars, "")
|
|
|
if e != nil {
|
|
|
err = fmt.Errorf("GetDictIndex err: %s", e.Error())
|
|
|
return
|
|
@@ -126,26 +124,9 @@ func GetIndexAndDataFromJiaYue(indexCode, startDate, endDate string, sourceArr [
|
|
|
err = fmt.Errorf("GetDictData err: %s", e.Error())
|
|
|
return
|
|
|
}
|
|
|
- var list []response.IndexData
|
|
|
- for _, v := range indexData {
|
|
|
- t := response.IndexData{
|
|
|
- Val: v.IndexValue,
|
|
|
- DataTime: v.IndexDate,
|
|
|
- UpdateTime: v.UpdateTime,
|
|
|
- }
|
|
|
- list = append(list, t)
|
|
|
- }
|
|
|
-
|
|
|
- data = new(response.IndexResp)
|
|
|
- data.Id = index.Id
|
|
|
- data.IndexData = list
|
|
|
- data.IndexCode = indexCode
|
|
|
- data.IndexName = index.Name
|
|
|
- data.Unit = index.Unit
|
|
|
- data.Frequency = index.Frequency
|
|
|
- data.LastDate = index.DateLast
|
|
|
- data.LastUpdateTime = index.TimeLastUpdate
|
|
|
- data.Status = index.Status
|
|
|
+
|
|
|
+ var dictMenu []jiayue.DictCategory
|
|
|
+ data = FormatItem2Resp(index, indexData, dictMenu)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -194,3 +175,102 @@ func GetPageIndexesFromJiaYue(pageIndex, pageSize int, sourceArr []string, keywo
|
|
|
result = indexes
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+func GetNewIndexAndDataFromJiaYue() (indexList []*response.IndexResp, err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ global.LOG.Info("GetIndexAndDataFromJiaYue Err: " + err.Error())
|
|
|
+ go alarm_msg.SendAlarmMsg("GetIndexAndDataFromJiaYue Err: "+err.Error(), 3)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ indexCond := ``
|
|
|
+ indexPars := make([]interface{}, 0)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ indexCond += ` UPDATE_TIME <= :1 `
|
|
|
+ indexPars = append(indexPars, time.Date(2023, 11, 3, 17, 0, 0, 0, time.Local).Format(utils.FormatDateTime))
|
|
|
+ sourceArr := []string{"webisite", "website", "website_gf"}
|
|
|
+ if len(sourceArr) > 0 {
|
|
|
+ indexCond += ` AND SOURCE_TYPE IN (:1)`
|
|
|
+ indexPars = append(indexPars, sourceArr)
|
|
|
+ }
|
|
|
+
|
|
|
+ indexes, e := jiayue.GetDictIndex(indexCond, indexPars, "CREATE_TIME ASC")
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("GetDictIndex err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(indexes) <= 0 {
|
|
|
+ global.LOG.Info("无新指标需要同步")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ indexList = make([]*response.IndexResp, 0)
|
|
|
+ for _, v := range indexes {
|
|
|
+
|
|
|
+ dataCond := " INDEX_ID = :1"
|
|
|
+ dataPars := make([]interface{}, 0)
|
|
|
+ dataPars = append(dataPars, v.Id)
|
|
|
+ indexData, e := jiayue.GetDictData(v.TableName, dataCond, dataPars)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("GetDictData err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ menuCond := ` R.INDEX_ID = :1`
|
|
|
+ menuPars := make([]interface{}, 0)
|
|
|
+ menuPars = append(menuPars, v.Id)
|
|
|
+ menus, e := jiayue.GetDictCategory(menuCond, menuPars, "")
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("GetDictCategory err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ item := FormatItem2Resp(v, indexData, menus)
|
|
|
+ indexList = append(indexList, item)
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func FormatItem2Resp(item jiayue.DictIndex, dictData []jiayue.DictData, dictMenu []jiayue.DictCategory) (res *response.IndexResp) {
|
|
|
+ res = new(response.IndexResp)
|
|
|
+ res.Id = item.Id
|
|
|
+ res.IndexCode = item.Code
|
|
|
+ res.IndexName = item.Name
|
|
|
+ res.Unit = item.Unit
|
|
|
+ res.Frequency = item.Frequency
|
|
|
+ res.LastDate = item.DateLast
|
|
|
+ res.LastUpdateTime = item.TimeLastUpdate
|
|
|
+ res.Status = item.Status
|
|
|
+ if len(dictData) > 0 {
|
|
|
+ for _, d := range dictData {
|
|
|
+ res.IndexData = append(res.IndexData, response.IndexData{
|
|
|
+ Val: d.IndexValue,
|
|
|
+ DataTime: d.IndexDate,
|
|
|
+ UpdateTime: d.UpdateTime,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(dictMenu) > 0 {
|
|
|
+ firstMenu := dictMenu[0]
|
|
|
+ res.MenuData.Id = firstMenu.Id
|
|
|
+ res.MenuData.Type = firstMenu.Type
|
|
|
+ res.MenuData.Code = firstMenu.Code
|
|
|
+ res.MenuData.Icon = firstMenu.Icon
|
|
|
+ res.MenuData.Sort = firstMenu.Sorting
|
|
|
+ res.MenuData.ParentId = firstMenu.ParentId
|
|
|
+ res.MenuData.ParentName = firstMenu.ParentName
|
|
|
+ res.MenuData.Path = firstMenu.Path
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|