|
@@ -2582,7 +2582,7 @@ func EdbInfoAdd(source, classifyId int, edbCode, edbName, frequency, unit, start
|
|
|
if source == utils.DATA_SOURCE_STOCK_PLANT {
|
|
|
edbType = 2 //计算指标
|
|
|
}
|
|
|
- //从缓存中获取
|
|
|
+ // todo 如果缓存中的终端信息丢了是否需要调整 从缓存中获取
|
|
|
serverUrl := ``
|
|
|
if edbInfo.Source == utils.DATA_SOURCE_WIND {
|
|
|
windCacheKey := utils.CACHE_WIND_URL + ":" + edbCode
|
|
@@ -2593,6 +2593,18 @@ func EdbInfoAdd(source, classifyId int, edbCode, edbName, frequency, unit, start
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // 获取终端信息
|
|
|
+ terminalCodeCacheKey := utils.CACHE_EDB_TERMINAL_CODE_URL + edbCode
|
|
|
+ terminalCode, tE := utils.Rc.RedisString(terminalCodeCacheKey)
|
|
|
+ if tE != nil {
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("从缓存中获取数据源终端信息失败, Err: %s", tE))
|
|
|
+ }
|
|
|
+ if terminalCode == "" {
|
|
|
+ terminalCode, tE = GetTerminalFromBaseIndex(source, edbCode)
|
|
|
+ if tE != nil {
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("获取数据源终端信息失败, Err: %s", tE))
|
|
|
+ }
|
|
|
+ }
|
|
|
//获取该层级下最大的排序数
|
|
|
maxSort, err := GetEdbClassifyMaxSort(classifyId, 0)
|
|
|
if err != nil {
|
|
@@ -2616,6 +2628,7 @@ func EdbInfoAdd(source, classifyId int, edbCode, edbName, frequency, unit, start
|
|
|
edbInfo.ServerUrl = serverUrl
|
|
|
edbInfo.Sort = maxSort + 1
|
|
|
edbInfo.DataDateType = `交易日`
|
|
|
+ edbInfo.TerminalCode = terminalCode
|
|
|
timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
|
edbInfo.UniqueCode = utils.MD5(utils.DATA_PREFIX + "_" + timestamp)
|
|
|
itemVal, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
|
|
@@ -3070,3 +3083,32 @@ func GetChartMenuTreeRecursive(list []*data_manage.ChartClassifyItems, parentId
|
|
|
}
|
|
|
return res
|
|
|
}
|
|
|
+
|
|
|
+func GetTerminalFromBaseIndex(source int, edbCode string) (terminalCode string, err error) {
|
|
|
+ tbName := GetBaseIndexTableName(source)
|
|
|
+ if tbName != "" {
|
|
|
+ var item data_manage.BaseIndexTerminalCode
|
|
|
+ item, err = data_manage.GetBaseIndexTerminalCode(edbCode, tbName)
|
|
|
+ if err != nil {
|
|
|
+ err = fmt.Errorf("查询数据源指标信息失败, Err: %s", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ terminalCode = item.TerminalCode
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func GetBaseIndexTableName(source int) (tableName string) {
|
|
|
+ switch source {
|
|
|
+ case utils.DATA_SOURCE_YS:
|
|
|
+ tableName = "base_from_smm_index"
|
|
|
+ case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
|
|
|
+ tableName = "base_from_mysteel_chemical_index"
|
|
|
+ case utils.DATA_SOURCE_SCI:
|
|
|
+ tableName = "base_from_sci_index"
|
|
|
+ case utils.DATA_SOURCE_BAIINFO:
|
|
|
+ tableName = "base_from_baiinfo_index"
|
|
|
+ default:
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|