|
@@ -2331,32 +2331,12 @@ func EdbInfoAdd(source, subSource, classifyId int, edbCode, edbName, frequency,
|
|
if source == utils.DATA_SOURCE_STOCK_PLANT {
|
|
if source == utils.DATA_SOURCE_STOCK_PLANT {
|
|
edbType = 2 //计算指标
|
|
edbType = 2 //计算指标
|
|
}
|
|
}
|
|
- // todo 如果缓存中的终端信息丢了是否需要调整 从缓存中获取
|
|
|
|
- serverUrl := ``
|
|
|
|
- // 获取终端信息
|
|
|
|
- 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))
|
|
|
|
- }
|
|
|
|
- var sourceIndexName string
|
|
|
|
- var terminalCodeOrigin string
|
|
|
|
- terminalCodeOrigin, sourceIndexName, tE = GetTerminalFromBaseIndex(source, edbCode)
|
|
|
|
- if tE != nil {
|
|
|
|
- utils.FileLog.Info(fmt.Sprintf("获取数据源终端信息失败, Err: %s", tE))
|
|
|
|
- }
|
|
|
|
- if terminalCodeOrigin != "" {
|
|
|
|
- terminalCode = terminalCodeOrigin
|
|
|
|
- }
|
|
|
|
- if edbInfo.Source == utils.DATA_SOURCE_WIND {
|
|
|
|
- terminalInfo, e := GetEdbTerminal(utils.DATA_SOURCE_WIND, terminalCode)
|
|
|
|
- if e != nil {
|
|
|
|
- errMsg = "保存失败"
|
|
|
|
- err = errors.New("获取可以使用的wind地址失败,Err:" + e.Error())
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- serverUrl = terminalInfo.ServerUrl
|
|
|
|
- terminalCode = terminalInfo.TerminalCode
|
|
|
|
|
|
+ // 从缓存中获取
|
|
|
|
+ terminalCode, serverUrl, sourceIndexName, e := GetEdbTerminalCodeBySource(edbInfo.Source, edbInfo.EdbCode, edbInfo.StockCode)
|
|
|
|
+ if e != nil {
|
|
|
|
+ errMsg = "获取可以使用的终端地址失败"
|
|
|
|
+ err = errors.New("获取可以使用的终端地址失败,Err:" + e.Error())
|
|
|
|
+ return
|
|
}
|
|
}
|
|
//获取该层级下最大的排序数
|
|
//获取该层级下最大的排序数
|
|
maxSort, err := GetEdbClassifyMaxSort(classifyId, 0)
|
|
maxSort, err := GetEdbClassifyMaxSort(classifyId, 0)
|
|
@@ -3006,17 +2986,7 @@ func EdbInfoWsdAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo, err
|
|
if source == utils.DATA_SOURCE_STOCK_PLANT {
|
|
if source == utils.DATA_SOURCE_STOCK_PLANT {
|
|
edbType = 2 //计算指标
|
|
edbType = 2 //计算指标
|
|
}
|
|
}
|
|
- //从缓存中获取
|
|
|
|
- serverUrl := ``
|
|
|
|
- if edbInfo.Source == utils.DATA_SOURCE_WIND {
|
|
|
|
- windCacheKey := utils.CACHE_WIND_URL + ":" + item.EdbCode
|
|
|
|
- serverUrl, _ = utils.Rc.RedisString(windCacheKey)
|
|
|
|
- if serverUrl == `` {
|
|
|
|
- if len(utils.Hz_Data_WIND_Url_List) >= 1 {
|
|
|
|
- serverUrl = utils.Hz_Data_WIND_Url_List[len(utils.Hz_Data_WIND_Url_List)-1] //默认是最后一个服务器地址
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
//获取该层级下最大的排序数
|
|
//获取该层级下最大的排序数
|
|
maxSort, err := GetEdbClassifyMaxSort(item.ClassifyId, 0)
|
|
maxSort, err := GetEdbClassifyMaxSort(item.ClassifyId, 0)
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -3035,7 +3005,7 @@ func EdbInfoWsdAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo, err
|
|
edbInfo.SysUserRealName = item.SysUserRealName
|
|
edbInfo.SysUserRealName = item.SysUserRealName
|
|
edbInfo.CreateTime = time.Now()
|
|
edbInfo.CreateTime = time.Now()
|
|
edbInfo.ModifyTime = time.Now()
|
|
edbInfo.ModifyTime = time.Now()
|
|
- edbInfo.ServerUrl = serverUrl
|
|
|
|
|
|
+ edbInfo.ServerUrl = item.ServerUrl
|
|
edbInfo.Sort = maxSort + 1
|
|
edbInfo.Sort = maxSort + 1
|
|
edbInfo.DataDateType = `交易日`
|
|
edbInfo.DataDateType = `交易日`
|
|
timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
@@ -3045,6 +3015,7 @@ func EdbInfoWsdAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo, err
|
|
edbInfo.SubSourceName = "日期序列"
|
|
edbInfo.SubSourceName = "日期序列"
|
|
edbInfo.IndicatorCode = item.IndicatorCode
|
|
edbInfo.IndicatorCode = item.IndicatorCode
|
|
edbInfo.StockCode = item.StockCode
|
|
edbInfo.StockCode = item.StockCode
|
|
|
|
+ edbInfo.TerminalCode = item.TerminalCode
|
|
edbInfoId, err := data_manage.AddEdbInfo(edbInfo)
|
|
edbInfoId, err := data_manage.AddEdbInfo(edbInfo)
|
|
if err != nil {
|
|
if err != nil {
|
|
errMsg = "保存失败"
|
|
errMsg = "保存失败"
|
|
@@ -3326,3 +3297,48 @@ func GetEdbTerminal(source int, oldTerminalCode string) (edbTerminal *data_manag
|
|
}*/
|
|
}*/
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+func GetEdbTerminalCodeBySource(source int, edbCode, stockCode string) (terminalCode, serverUrl, sourceIndexName string, err error) {
|
|
|
|
+ var e error
|
|
|
|
+ if stockCode != "" {
|
|
|
|
+ terminalCodeCacheKey := utils.CACHE_EDB_TERMINAL_CODE_URL + stockCode
|
|
|
|
+ terminalCode, e = utils.Rc.RedisString(terminalCodeCacheKey)
|
|
|
|
+ if e != nil {
|
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("从缓存中获取数据源终端信息失败, Err: %s", e))
|
|
|
|
+ }
|
|
|
|
+ if terminalCode == "" {
|
|
|
|
+ terminalInfo, e := GetEdbTerminal(source, terminalCode)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("获取可以使用的终端失败,Err:" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ serverUrl = terminalInfo.ServerUrl
|
|
|
|
+ terminalCode = terminalInfo.TerminalCode
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // 获取终端信息
|
|
|
|
+ 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))
|
|
|
|
+ }
|
|
|
|
+ var terminalCodeOrigin string
|
|
|
|
+ terminalCodeOrigin, sourceIndexName, tE = GetTerminalFromBaseIndex(source, edbCode)
|
|
|
|
+ if tE != nil {
|
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("获取数据源终端信息失败, Err: %s", tE))
|
|
|
|
+ }
|
|
|
|
+ if terminalCodeOrigin != "" {
|
|
|
|
+ terminalCode = terminalCodeOrigin
|
|
|
|
+ }
|
|
|
|
+ if source == utils.DATA_SOURCE_WIND || source == utils.DATA_SOURCE_THS {
|
|
|
|
+ terminalInfo, e := GetEdbTerminal(source, terminalCode)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("获取可以使用的终端失败,Err:" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ serverUrl = terminalInfo.ServerUrl
|
|
|
|
+ terminalCode = terminalInfo.TerminalCode
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|