浏览代码

优化数据源获取逻辑

重构了数据源获取的相关方法,提高了代码的可维护性和扩展性:
- 新增 GetEdbSourceItemsSourceId 方法,通过数据库查询获取数据源
- 新增 GetEdbSourceBySourceId 方法,先尝试从缓存获取,若不存在则从数据库查询并加入缓存- 修改了涉及数据源获取的多个服务和控制器,使用新的 GetEdbSourceBySourceId 方法替换原有的直接访问 EdbSourceIdMap
- 删除了多个冗余的 case 语句,简化了 GetEdbDataTableName 等方法的实现
Roc 6 月之前
父节点
当前提交
86acdac042

+ 1 - 1
controllers/data_manage/edb_info.go

@@ -1899,7 +1899,7 @@ func (this *EdbInfoController) EdbInfoSearch() {
 			}
 		} else {
 			// 代码中没有的来源那么从edb_source中找是否有对应的
-			sourceItem := data_manage.EdbSourceIdMap[source]
+			sourceItem := data_manage.GetEdbSourceBySourceId[source]
 			if sourceItem == nil {
 				br.Msg = "无效指标来源"
 				return

+ 3 - 78
models/data_manage/edb_data_base.go

@@ -14,23 +14,6 @@ import (
 // GetEdbDataTableName 指标数据->存储表
 func GetEdbDataTableName(source, subSource int) (tableName string) {
 	switch source {
-	case utils.DATA_SOURCE_THS:
-		switch subSource {
-		case utils.DATA_SUB_SOURCE_DATE:
-			tableName = "edb_data_ths_ds"
-		case utils.DATA_SUB_SOURCE_HIGH_FREQUENCY:
-			tableName = "edb_data_ths_hf"
-		default:
-			tableName = "edb_data_ths"
-		}
-	case utils.DATA_SOURCE_WIND:
-		if subSource == utils.DATA_SUB_SOURCE_DATE {
-			tableName = "edb_data_wind_wsd"
-		} else {
-			tableName = "edb_data_wind"
-		}
-	case utils.DATA_SOURCE_PB, utils.DATA_SOURCE_PB_FINANCE: //彭博经济数据、彭博财务数据
-		tableName = "edb_data_pb"
 	case utils.DATA_SOURCE_CALCULATE:
 		tableName = "edb_data_calculate"
 	case utils.DATA_SOURCE_CALCULATE_LJZZY:
@@ -43,66 +26,34 @@ func GetEdbDataTableName(source, subSource int) (tableName string) {
 		tableName = "edb_data_calculate_nszydpjjs"
 	case utils.DATA_SOURCE_MANUAL:
 		tableName = "edb_data_manual"
-	case utils.DATA_SOURCE_LZ:
-		tableName = "edb_data_lz"
-	case utils.DATA_SOURCE_YS:
-		tableName = "edb_data_ys"
 	case utils.DATA_SOURCE_CALCULATE_HBZ:
 		tableName = "edb_data_calculate_hbz"
 	case utils.DATA_SOURCE_CALCULATE_HCZ:
 		tableName = "edb_data_calculate_hcz"
 	case utils.DATA_SOURCE_CALCULATE_BP:
 		tableName = "edb_data_calculate_bp"
-	case utils.DATA_SOURCE_GL:
-		tableName = "edb_data_gl"
-	case utils.DATA_SOURCE_ZZ:
-		tableName = "edb_data_zz"
-	case utils.DATA_SOURCE_DL:
-		tableName = "edb_data_dl"
-	case utils.DATA_SOURCE_SH:
-		tableName = "edb_data_sh"
-	case utils.DATA_SOURCE_CFFEX:
-		tableName = "edb_data_cffex"
-	case utils.DATA_SOURCE_SHFE:
-		tableName = "edb_data_ine"
-	case utils.DATA_SOURCE_GIE:
-		tableName = "edb_data_gie"
 	case utils.DATA_SOURCE_CALCULATE_ZJPJ:
 		tableName = "edb_data_calculate_zjpj"
 	case utils.DATA_SOURCE_CALCULATE_TIME_SHIFT:
 		tableName = "edb_data_calculate_time_shift"
 	case utils.DATA_SOURCE_CALCULATE_LJZTBPJ:
 		tableName = "edb_data_calculate_ljztbpj"
-	case utils.DATA_SOURCE_LT:
-		tableName = "edb_data_lt"
-	case utils.DATA_SOURCE_COAL:
-		tableName = "edb_data_coal"
 	case utils.DATA_SOURCE_PYTHON:
 		tableName = "edb_data_python"
-	case utils.DATA_SOURCE_GOOGLE_TRAVEL:
-		tableName = "edb_data_google_travel"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE:
 		tableName = "edb_data_predict_calculate"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_TBZ:
 		tableName = "edb_data_predict_calculate_tbz"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_TCZ:
 		tableName = "edb_data_predict_calculate_tcz"
-	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
-		tableName = "edb_data_mysteel_chemical"
 	case utils.DATA_SOURCE_CALCULATE_CJJX:
 		tableName = "edb_data_calculate_cjjx"
-	case utils.DATA_SOURCE_EIA_STEO:
-		tableName = "edb_data_eia_steo"
 	case utils.DATA_SOURCE_CALCULATE_NHCC:
 		tableName = "edb_data_calculate_nhcc"
-	case utils.DATA_SOURCE_COM_TRADE:
-		tableName = "edb_data_com_trade"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS:
 		tableName = "edb_data_predict_calculate_nszydpjjs"
 	case utils.DATA_SOURCE_CALCULATE_ADJUST:
 		tableName = "edb_data_calculate_adjust"
-	case utils.DATA_SOURCE_SCI:
-		tableName = "edb_data_sci"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZZY:
 		tableName = "edb_data_predict_calculate_ljzzy"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT:
@@ -133,8 +84,6 @@ func GetEdbDataTableName(source, subSource int) (tableName string) {
 		tableName = "edb_data_predict_calculate_nh"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_KSZS:
 		tableName = "edb_data_predict_calculate_kszs"
-	case utils.DATA_SOURCE_BAIINFO:
-		tableName = "edb_data_baiinfo"
 	case utils.DATA_SOURCE_STOCK_PLANT:
 		tableName = "edb_data_stock_plant"
 	case utils.DATA_SOURCE_CALCULATE_CORRELATION:
@@ -161,8 +110,6 @@ func GetEdbDataTableName(source, subSource int) (tableName string) {
 		tableName = "edb_data_predict_ccalculate_standard_deviation"
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_PERCENTILE: //预测百分位->70
 		tableName = "edb_data_predict_ccalculate_percentile"
-	case utils.DATA_SOURCE_FUBAO: //富宝-71
-		tableName = "edb_data_fubao"
 	case utils.DATA_SOURCE_CALCULATE_ZSXY:
 		tableName = "edb_data_calculate_zsxy" // 指数修匀->72
 	case utils.DATA_SOURCE_PREDICT_CALCULATE_ZSXY:
@@ -171,16 +118,8 @@ func GetEdbDataTableName(source, subSource int) (tableName string) {
 		tableName = "edb_data_calculate_zdyfx" // 自定义分析->74
 	case utils.DATA_SOURCE_CALCULATE_RJZ: //日均值->75
 		tableName = "edb_data_calculate_rjz"
-	case utils.DATA_SOURCE_GFEX: //广州期货交易所->78
-		tableName = "edb_data_gz"
-	case utils.DATA_SOURCE_ICPI: //ICPI消费价格指数->79
-		tableName = "edb_data_icpi"
-	case utils.DATA_SOURCE_SCI99: //ICPI消费价格指数->85
-		tableName = "edb_data_sci99"
-	case utils.DATA_SOURCE_SCI_HQ:
-		tableName = "edb_data_sci_hq"
 	default:
-		edbSource := EdbSourceIdMap[source]
+		edbSource := GetEdbSourceBySourceId(source)
 		if edbSource != nil {
 			tableName = edbSource.TableName
 		}
@@ -340,7 +279,7 @@ func GetBaseIndexInfoByEdbCode(edbCode string, source int) (item *BaseIndexInfo,
 }
 
 func GetBaseIndexTableName(source int) (tableName string) {
-	edbSource := EdbSourceIdMap[source]
+	edbSource := GetEdbSourceBySourceId(source)
 	if edbSource != nil {
 		tableName = edbSource.IndexTableName
 	}
@@ -365,22 +304,8 @@ func GetEdbDataAllByEdbCodeAndSubSource(edbCode string, source, subSource, limit
 // GetEdbDataTableNameAndSubSource 指标数据->存储表
 func GetEdbDataTableNameAndSubSource(source, subSource int) (tableName string) {
 	switch source {
-	case utils.DATA_SOURCE_WIND:
-		if subSource == utils.DATA_SUB_SOURCE_EDB {
-			tableName = "edb_data_wind"
-		} else {
-			tableName = "edb_data_wind_wsd"
-		}
-	case utils.DATA_SOURCE_THS:
-		if subSource == utils.DATA_SUB_SOURCE_EDB {
-			tableName = "edb_data_ths"
-		} else {
-			tableName = "edb_data_ths_ds"
-		}
-	case utils.DATA_SOURCE_YS:
-		tableName = "edb_data_ys"
 	default:
-		edbSource := EdbSourceIdMap[source]
+		edbSource := GetEdbSourceBySourceId(source)
 		if edbSource != nil {
 			tableName = edbSource.TableName
 		}

+ 33 - 0
models/data_manage/edb_source.go

@@ -73,3 +73,36 @@ func InitEdbSourceVar() {
 		EdbSourceIdMap[v.EdbSourceId] = v
 	}
 }
+
+// GetEdbSourceItemsSourceId
+// @Description: 根据来源id获取指标来源
+// @param sourceId
+// @return item
+// @return err
+func GetEdbSourceItemsSourceId(sourceId int) (item *EdbSource, err error) {
+	sql := `SELECT * FROM edb_source WHERE 1=1 AND edb_source_id = ? `
+	err = global.DmSQL["data"].Raw(sql, sourceId).First(&item).Error
+
+	return
+}
+
+// GetEdbSourceBySourceId
+// @Description: 根据来源id获取指标来源
+// @param sourceId
+// @return sourceItem
+func GetEdbSourceBySourceId(sourceId int) (sourceItem *EdbSource) {
+	sourceItem, ok := EdbSourceIdMap[sourceId]
+	if !ok {
+		item, err := GetEdbSourceItemsSourceId(sourceId)
+		if err != nil {
+			return
+		}
+		if item.EdbSourceId > 0 {
+			sourceItem = item
+			// 写入到内存中
+			EdbSourceIdMap[sourceId] = sourceItem
+		}
+	}
+
+	return
+}

+ 63 - 63
services/data/base_edb_lib.go

@@ -20,64 +20,64 @@ func AddEdbData(source int, edbCode, frequency string) (resp *models.BaseRespons
 	param["Frequency"] = frequency
 	urlStr := ``
 	switch source {
-	case utils.DATA_SOURCE_THS:
-		urlStr = "ths/add"
-	case utils.DATA_SOURCE_WIND:
-		urlStr = "wind/add"
-	case utils.DATA_SOURCE_PB:
-		urlStr = "pb/add"
-	case utils.DATA_SOURCE_PB_FINANCE:
-		urlStr = "pb_finance/add"
-	case utils.DATA_SOURCE_MANUAL:
-		urlStr = "manual/add"
-	case utils.DATA_SOURCE_LZ:
-		urlStr = "lz/add"
-	case utils.DATA_SOURCE_YS:
-		urlStr = "smm/add"
-	case utils.DATA_SOURCE_GL:
-		urlStr = "mysteel/add"
-	case utils.DATA_SOURCE_ZZ:
-		urlStr = "zz/add"
-	case utils.DATA_SOURCE_DL:
-		urlStr = "dl/add"
-	case utils.DATA_SOURCE_SH:
-		urlStr = "sh/add"
-	case utils.DATA_SOURCE_CFFEX:
-		urlStr = "cffex/add"
-	case utils.DATA_SOURCE_SHFE:
-		urlStr = "shfe/add"
-	case utils.DATA_SOURCE_GIE:
-		urlStr = "gie/add"
-	case utils.DATA_SOURCE_LT:
-		urlStr = "lt/add"
-	case utils.DATA_SOURCE_COAL:
-		urlStr = "coal/add"
-	case utils.DATA_SOURCE_GOOGLE_TRAVEL:
-		urlStr = "google_travel/add"
-	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
-		urlStr = "mysteel_chemical/add"
-	case utils.DATA_SOURCE_EIA_STEO:
-		urlStr = "eia_steo/add"
-	case utils.DATA_SOURCE_COM_TRADE:
-		urlStr = "com_trade/add"
-	case utils.DATA_SOURCE_SCI:
-		urlStr = "sci/add"
-	case utils.DATA_SOURCE_BAIINFO:
-		urlStr = "baiinfo/add"
-	case utils.DATA_SOURCE_NATIONAL_STATISTICS:
-		urlStr = "national_statistics/add"
-	case utils.DATA_SOURCE_FUBAO:
-		urlStr = "fubao/add"
-	case utils.DATA_SOURCE_GFEX:
-		urlStr = "gz/add"
-	case utils.DATA_SOURCE_ICPI:
-		urlStr = "icpi/add"
-	case utils.DATA_SOURCE_SCI99:
-		urlStr = "sci99/add"
-	case utils.DATA_SOURCE_SCI_HQ:
-		urlStr = "sci_hq/add"
+	//case utils.DATA_SOURCE_THS:
+	//	urlStr = "ths/add"
+	//case utils.DATA_SOURCE_WIND:
+	//	urlStr = "wind/add"
+	//case utils.DATA_SOURCE_PB:
+	//	urlStr = "pb/add"
+	//case utils.DATA_SOURCE_PB_FINANCE:
+	//	urlStr = "pb_finance/add"
+	//case utils.DATA_SOURCE_MANUAL:
+	//	urlStr = "manual/add"
+	//case utils.DATA_SOURCE_LZ:
+	//	urlStr = "lz/add"
+	//case utils.DATA_SOURCE_YS:
+	//	urlStr = "smm/add"
+	//case utils.DATA_SOURCE_GL:
+	//	urlStr = "mysteel/add"
+	//case utils.DATA_SOURCE_ZZ:
+	//	urlStr = "zz/add"
+	//case utils.DATA_SOURCE_DL:
+	//	urlStr = "dl/add"
+	//case utils.DATA_SOURCE_SH:
+	//	urlStr = "sh/add"
+	//case utils.DATA_SOURCE_CFFEX:
+	//	urlStr = "cffex/add"
+	//case utils.DATA_SOURCE_SHFE:
+	//	urlStr = "shfe/add"
+	//case utils.DATA_SOURCE_GIE:
+	//	urlStr = "gie/add"
+	//case utils.DATA_SOURCE_LT:
+	//	urlStr = "lt/add"
+	//case utils.DATA_SOURCE_COAL:
+	//	urlStr = "coal/add"
+	//case utils.DATA_SOURCE_GOOGLE_TRAVEL:
+	//	urlStr = "google_travel/add"
+	//case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
+	//	urlStr = "mysteel_chemical/add"
+	//case utils.DATA_SOURCE_EIA_STEO:
+	//	urlStr = "eia_steo/add"
+	//case utils.DATA_SOURCE_COM_TRADE:
+	//	urlStr = "com_trade/add"
+	//case utils.DATA_SOURCE_SCI:
+	//	urlStr = "sci/add"
+	//case utils.DATA_SOURCE_BAIINFO:
+	//	urlStr = "baiinfo/add"
+	//case utils.DATA_SOURCE_NATIONAL_STATISTICS:
+	//	urlStr = "national_statistics/add"
+	//case utils.DATA_SOURCE_FUBAO:
+	//	urlStr = "fubao/add"
+	//case utils.DATA_SOURCE_GFEX:
+	//	urlStr = "gz/add"
+	//case utils.DATA_SOURCE_ICPI:
+	//	urlStr = "icpi/add"
+	//case utils.DATA_SOURCE_SCI99:
+	//	urlStr = "sci99/add"
+	//case utils.DATA_SOURCE_SCI_HQ:
+	//	urlStr = "sci_hq/add"
 	default:
-		edbSource := data_manage.EdbSourceIdMap[source]
+		edbSource := data_manage.GetEdbSourceBySourceId(source)
 		if edbSource != nil {
 			urlStr = edbSource.EdbAddMethod
 		}
@@ -280,7 +280,7 @@ func RefreshEdbData(edbInfoId, source, subSource int, edbCode, startDate string)
 	//		urlStr = edbSource.EdbRefreshMethod
 	//	}
 	//}
-	edbSource := data_manage.EdbSourceIdMap[source]
+	edbSource := data_manage.GetEdbSourceBySourceId(source)
 	if edbSource != nil {
 		urlStr = edbSource.EdbRefreshMethod
 	}
@@ -489,12 +489,12 @@ func AddBaseEdbInfo(addBaseEdbInfoReqStr string, source, subSource int, lang str
 	switch source {
 	case utils.DATA_SOURCE_BUSINESS:
 		urlStr = "business_index/add"
-	case utils.DATA_SOURCE_THS:
-		if subSource == utils.DATA_SUB_SOURCE_HIGH_FREQUENCY {
-			urlStr = "ths/hf/edb/add"
-		}
+	//case utils.DATA_SOURCE_THS:
+	//	if subSource == utils.DATA_SUB_SOURCE_HIGH_FREQUENCY {
+	//		urlStr = "ths/hf/edb/add"
+	//	}
 	default:
-		edbSource := data_manage.EdbSourceIdMap[source]
+		edbSource := data_manage.GetEdbSourceBySourceId(source)
 		if edbSource != nil {
 			urlStr = edbSource.EdbRefreshMethod
 		}

+ 29 - 119
services/data/edb_info.go

@@ -1792,47 +1792,15 @@ func EdbInfoAdd(source, subSource, classifyId int, edbCode, edbName, frequency,
 
 	edbInfo = new(data_manage.EdbInfo)
 	edbInfo.Source = source
-	sourceNameMap := map[int]string{
-		utils.DATA_SOURCE_THS:                 "同花顺",
-		utils.DATA_SOURCE_WIND:                "wind",
-		utils.DATA_SOURCE_PB:                  "彭博",
-		utils.DATA_SOURCE_PB_FINANCE:          "彭博财务",
-		utils.DATA_SOURCE_MANUAL:              "手工数据",
-		utils.DATA_SOURCE_LZ:                  "隆众",
-		utils.DATA_SOURCE_YS:                  "SMM",
-		utils.DATA_SOURCE_GL:                  "钢联",
-		utils.DATA_SOURCE_ZZ:                  "郑商所",
-		utils.DATA_SOURCE_DL:                  "大商所",
-		utils.DATA_SOURCE_SH:                  "上期所",
-		utils.DATA_SOURCE_CFFEX:               "中金所",
-		utils.DATA_SOURCE_SHFE:                "上期能源",
-		utils.DATA_SOURCE_GIE:                 "欧洲天然气",
-		utils.DATA_SOURCE_LT:                  "路透",
-		utils.DATA_SOURCE_COAL:                "中国煤炭市场网",
-		utils.DATA_SOURCE_GOOGLE_TRAVEL:       "our world in data",
-		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "钢联",
-		utils.DATA_SOURCE_EIA_STEO:            "EIA STEO报告",
-		utils.DATA_SOURCE_COM_TRADE:           "UN",
-		utils.DATA_SOURCE_SCI:                 "SCI",
-		utils.DATA_SOURCE_BAIINFO:             "BAIINFO",
-		utils.DATA_SOURCE_STOCK_PLANT:         "存量装置",
-		utils.DATA_SOURCE_NATIONAL_STATISTICS: "国家统计局",
-		utils.DATA_SOURCE_FUBAO:               "富宝数据",
-		utils.DATA_SOURCE_GFEX:                "广期所",
-		utils.DATA_SOURCE_SCI_HQ:              "卓创红期",
-	}
-
-	sourceName, ok := sourceNameMap[source]
-	if !ok {
-		edbSource := data_manage.EdbSourceIdMap[source]
-		if edbSource != nil {
-			sourceName = edbSource.SourceName
-		}
-		if sourceName == "" {
-			errMsg = "指标来源异常"
-			err = errors.New(errMsg)
-			return
-		}
+	var sourceName string
+	edbSource := data_manage.GetEdbSourceBySourceId(source)
+	if edbSource != nil {
+		sourceName = edbSource.SourceName
+	}
+	if sourceName == "" {
+		errMsg = "指标来源异常"
+		err = errors.New(errMsg)
+		return
 	}
 	edbInfo.SourceName = sourceName
 
@@ -2507,45 +2475,16 @@ func EdbInfoWsdAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo, err
 
 	edbInfo = new(data_manage.EdbInfo)
 	edbInfo.Source = source
-	sourceNameMap := map[int]string{
-		utils.DATA_SOURCE_THS:                 "同花顺",
-		utils.DATA_SOURCE_WIND:                "wind",
-		utils.DATA_SOURCE_PB:                  "彭博",
-		utils.DATA_SOURCE_PB_FINANCE:          "彭博财务",
-		utils.DATA_SOURCE_MANUAL:              "手工数据",
-		utils.DATA_SOURCE_LZ:                  "隆众",
-		utils.DATA_SOURCE_YS:                  "SMM",
-		utils.DATA_SOURCE_GL:                  "钢联",
-		utils.DATA_SOURCE_ZZ:                  "郑商所",
-		utils.DATA_SOURCE_DL:                  "大商所",
-		utils.DATA_SOURCE_SH:                  "上期所",
-		utils.DATA_SOURCE_CFFEX:               "中金所",
-		utils.DATA_SOURCE_SHFE:                "上期能源",
-		utils.DATA_SOURCE_GIE:                 "欧洲天然气",
-		utils.DATA_SOURCE_LT:                  "路透",
-		utils.DATA_SOURCE_COAL:                "中国煤炭市场网",
-		utils.DATA_SOURCE_GOOGLE_TRAVEL:       "our world in data",
-		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "钢联",
-		utils.DATA_SOURCE_EIA_STEO:            "EIA STEO报告",
-		utils.DATA_SOURCE_COM_TRADE:           "UN",
-		utils.DATA_SOURCE_SCI:                 "SCI",
-		utils.DATA_SOURCE_BAIINFO:             "BAIINFO",
-		utils.DATA_SOURCE_STOCK_PLANT:         "存量装置",
-		utils.DATA_SOURCE_NATIONAL_STATISTICS: "国家统计局",
-		utils.DATA_SOURCE_FUBAO:               "富宝数据",
-	}
-
-	sourceName, ok := sourceNameMap[source]
-	if !ok {
-		edbSource := data_manage.EdbSourceIdMap[source]
-		if edbSource != nil {
-			sourceName = edbSource.SourceName
-		}
-		if sourceName == "" {
-			errMsg = "指标来源异常"
-			err = errors.New(errMsg)
-			return
-		}
+
+	var sourceName string
+	edbSource := data_manage.GetEdbSourceBySourceId(source)
+	if edbSource != nil {
+		sourceName = edbSource.SourceName
+	}
+	if sourceName == "" {
+		errMsg = "指标来源异常"
+		err = errors.New(errMsg)
+		return
 	}
 	edbInfo.SourceName = sourceName
 
@@ -2706,45 +2645,16 @@ func EdbInfoSmmApiAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo,
 
 	edbInfo = new(data_manage.EdbInfo)
 	edbInfo.Source = source
-	sourceNameMap := map[int]string{
-		utils.DATA_SOURCE_THS:                 "同花顺",
-		utils.DATA_SOURCE_WIND:                "wind",
-		utils.DATA_SOURCE_PB:                  "彭博",
-		utils.DATA_SOURCE_PB_FINANCE:          "彭博财务",
-		utils.DATA_SOURCE_MANUAL:              "手工数据",
-		utils.DATA_SOURCE_LZ:                  "隆众",
-		utils.DATA_SOURCE_YS:                  "SMM",
-		utils.DATA_SOURCE_GL:                  "钢联",
-		utils.DATA_SOURCE_ZZ:                  "郑商所",
-		utils.DATA_SOURCE_DL:                  "大商所",
-		utils.DATA_SOURCE_SH:                  "上期所",
-		utils.DATA_SOURCE_CFFEX:               "中金所",
-		utils.DATA_SOURCE_SHFE:                "上期能源",
-		utils.DATA_SOURCE_GIE:                 "欧洲天然气",
-		utils.DATA_SOURCE_LT:                  "路透",
-		utils.DATA_SOURCE_COAL:                "中国煤炭市场网",
-		utils.DATA_SOURCE_GOOGLE_TRAVEL:       "our world in data",
-		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "钢联",
-		utils.DATA_SOURCE_EIA_STEO:            "EIA STEO报告",
-		utils.DATA_SOURCE_COM_TRADE:           "UN",
-		utils.DATA_SOURCE_SCI:                 "SCI",
-		utils.DATA_SOURCE_BAIINFO:             "BAIINFO",
-		utils.DATA_SOURCE_STOCK_PLANT:         "存量装置",
-		utils.DATA_SOURCE_NATIONAL_STATISTICS: "国家统计局",
-		utils.DATA_SOURCE_FUBAO:               "富宝数据",
-	}
-
-	sourceName, ok := sourceNameMap[source]
-	if !ok {
-		edbSource := data_manage.EdbSourceIdMap[source]
-		if edbSource != nil {
-			sourceName = edbSource.SourceName
-		}
-		if sourceName == "" {
-			errMsg = "指标来源异常"
-			err = errors.New(errMsg)
-			return
-		}
+
+	var sourceName string
+	edbSource := data_manage.GetEdbSourceBySourceId(source)
+	if edbSource != nil {
+		sourceName = edbSource.SourceName
+	}
+	if sourceName == "" {
+		errMsg = "指标来源异常"
+		err = errors.New(errMsg)
+		return
 	}
 	edbInfo.SourceName = sourceName