|
@@ -5,6 +5,7 @@ import (
|
|
|
"eta/eta_bridge/models/jiayue"
|
|
|
"eta/eta_bridge/models/response"
|
|
|
"eta/eta_bridge/services/alarm_msg"
|
|
|
+ "eta/eta_bridge/utils"
|
|
|
"fmt"
|
|
|
"strconv"
|
|
|
"strings"
|
|
@@ -22,18 +23,19 @@ func GetIndexFromJiaYue(indexCode string, sourceArr []string) (data *response.In
|
|
|
|
|
|
indexCond := ``
|
|
|
indexPars := make([]interface{}, 0)
|
|
|
- // 指标存在无编码情况, 尝试转换indexCode为int查自增ID
|
|
|
- indexId, e := strconv.Atoi(indexCode)
|
|
|
- if e == nil && indexId > 0 {
|
|
|
- indexCond = ` (ID = :1 OR SOURCE_CODE = :1)`
|
|
|
- indexPars = append(indexPars, indexId, indexCode)
|
|
|
- } else {
|
|
|
- indexCond = ` SOURCE_CODE = :1`
|
|
|
- indexPars = append(indexPars, indexCode)
|
|
|
+ // 以ID为指标编码
|
|
|
+ indexId, _ := strconv.Atoi(indexCode)
|
|
|
+ if indexId <= 0 {
|
|
|
+ global.LOG.Info(indexCode + "指标信息不存在")
|
|
|
+ return
|
|
|
}
|
|
|
+ indexCond = ` ID = :1`
|
|
|
+ indexPars = append(indexPars, indexId)
|
|
|
if len(sourceArr) > 0 {
|
|
|
- indexCond += ` AND SOURCE_TYPE IN (:1)`
|
|
|
- indexPars = append(indexPars, sourceArr)
|
|
|
+ indexCond += fmt.Sprintf(` AND SOURCE_TYPE IN (%s)`, utils.GetOracleInReplace(len(sourceArr)))
|
|
|
+ for _, s := range sourceArr {
|
|
|
+ indexPars = append(indexPars, s)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
indexes, e := jiayue.GetDictIndex(indexCond, indexPars, "")
|
|
@@ -71,18 +73,19 @@ func GetIndexAndDataFromJiaYue(indexCode, startDate, endDate string, sourceArr [
|
|
|
|
|
|
indexCond := ``
|
|
|
indexPars := make([]interface{}, 0)
|
|
|
- // 指标存在无编码情况, 尝试转换indexCode为int查自增ID
|
|
|
- indexId, e := strconv.Atoi(indexCode)
|
|
|
- if e == nil && indexId > 0 {
|
|
|
- indexCond = ` (ID = :1 OR SOURCE_CODE = :1)`
|
|
|
- indexPars = append(indexPars, indexId, indexCode)
|
|
|
- } else {
|
|
|
- indexCond = ` SOURCE_CODE = :1`
|
|
|
- indexPars = append(indexPars, indexCode)
|
|
|
+ // 以ID为指标编码
|
|
|
+ indexId, _ := strconv.Atoi(indexCode)
|
|
|
+ if indexId <= 0 {
|
|
|
+ global.LOG.Info(indexCode + "指标信息不存在")
|
|
|
+ return
|
|
|
}
|
|
|
+ indexCond = ` ID = :1`
|
|
|
+ indexPars = append(indexPars, indexId)
|
|
|
if len(sourceArr) > 0 {
|
|
|
- indexCond += ` AND SOURCE_TYPE IN (:1)`
|
|
|
- indexPars = append(indexPars, sourceArr)
|
|
|
+ indexCond += fmt.Sprintf(` AND SOURCE_TYPE IN (%s)`, utils.GetOracleInReplace(len(sourceArr)))
|
|
|
+ for _, s := range sourceArr {
|
|
|
+ indexPars = append(indexPars, s)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
indexes, e := jiayue.GetDictIndex(indexCond, indexPars, "")
|
|
@@ -105,15 +108,15 @@ func GetIndexAndDataFromJiaYue(indexCode, startDate, endDate string, sourceArr [
|
|
|
}
|
|
|
|
|
|
// 指标数据
|
|
|
- dataCond := " INDEX_ID = :1"
|
|
|
+ dataCond := ` INDEX_ID = :1`
|
|
|
dataPars := make([]interface{}, 0)
|
|
|
dataPars = append(dataPars, index.Id)
|
|
|
if startDate != "" {
|
|
|
- dataCond += " AND INDEX_DATE >= TO_DATE (:1, 'yyyy-mm-dd')"
|
|
|
+ dataCond += ` AND INDEX_DATE >= TO_DATE (:1, 'yyyy-mm-dd')`
|
|
|
dataPars = append(dataPars, startDate)
|
|
|
}
|
|
|
if endDate != "" {
|
|
|
- dataCond += " AND INDEX_DATE <= TO_DATE (:1, 'yyyy-mm-dd')"
|
|
|
+ dataCond += ` AND INDEX_DATE <= TO_DATE (:1, 'yyyy-mm-dd')`
|
|
|
dataPars = append(dataPars, endDate)
|
|
|
}
|
|
|
indexData, e := jiayue.GetDictData(index.TableName, dataCond, dataPars)
|
|
@@ -145,12 +148,14 @@ func GetPageIndexesFromJiaYue(pageIndex, pageSize int, sourceArr []string, keywo
|
|
|
}
|
|
|
}()
|
|
|
|
|
|
- indexCond := ``
|
|
|
+ indexCond := ` 1=1`
|
|
|
indexPars := make([]interface{}, 0)
|
|
|
// 筛选项
|
|
|
if len(sourceArr) > 0 {
|
|
|
- indexCond += ` SOURCE_TYPE IN (:1)`
|
|
|
- indexPars = append(indexPars, sourceArr)
|
|
|
+ indexCond += fmt.Sprintf(` AND SOURCE_TYPE IN (%s)`, utils.GetOracleInReplace(len(sourceArr)))
|
|
|
+ for _, s := range sourceArr {
|
|
|
+ indexPars = append(indexPars, s)
|
|
|
+ }
|
|
|
}
|
|
|
keyword = strings.TrimSpace(keyword)
|
|
|
if keyword != "" {
|
|
@@ -326,12 +331,16 @@ func GetJiaYueImportData(sourceArr []string) (items []JiaYueImportIndexResp, err
|
|
|
}()
|
|
|
|
|
|
// 获取指标
|
|
|
- indexCond := ` SOURCE_TYPE IN (:1)`
|
|
|
- indexPars := make([]interface{}, 0)
|
|
|
if len(sourceArr) == 0 {
|
|
|
sourceArr = []string{"webisite", "website", "website_gf", "platts", "reuter", "reuter_vessel_q", "路透", "bloomberg", "bloomberg_tmp", "wind", "wind_p", "wind_stop", "wind_tmp"}
|
|
|
}
|
|
|
- indexPars = append(indexPars, sourceArr)
|
|
|
+ indexCond := fmt.Sprintf(` AND SOURCE_TYPE IN (%s)`, utils.GetOracleInReplace(len(sourceArr)))
|
|
|
+ indexPars := make([]interface{}, 0)
|
|
|
+ if len(sourceArr) > 0 {
|
|
|
+ for _, s := range sourceArr {
|
|
|
+ indexPars = append(indexPars, s)
|
|
|
+ }
|
|
|
+ }
|
|
|
indexes, e := jiayue.GetDictIndex(indexCond, indexPars, "SOURCE_TYPE ASC, ID ASC")
|
|
|
if e != nil {
|
|
|
err = fmt.Errorf("GetDictIndex err: %s", e.Error())
|