zwxi 1 year ago
parent
commit
75c2011dfd
1 changed files with 27 additions and 21 deletions
  1. 27 21
      controllers/data_manage/edb_info.go

+ 27 - 21
controllers/data_manage/edb_info.go

@@ -5647,6 +5647,8 @@ func (this *EdbInfoController) EdbInfoSmmSearch() {
 
 	resp := new(data_manage.EdbInfoSearchResp)
 	needAddCodeArr := make([]string, 0)
+	noNeedAddCodeMap := make(map[string]string, 0)
+
 	for _, edbCode := range edbCodeArr {
 		dataItems, err := data_manage.GetEdbDataAllByEdbCode(edbCode, utils.DATA_SOURCE_YS, utils.DATA_SUB_SOURCE_EDB, utils.EDB_DATA_LIMIT)
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -5674,6 +5676,8 @@ func (this *EdbInfoController) EdbInfoSmmSearch() {
 			searchItem.EdbCode = smmInfoMap[edbCode].IndexCode
 
 			searchItemList = append(searchItemList, searchItem)
+
+			noNeedAddCodeMap[edbCode] = edbCode
 		} else {
 			// 把需要新加的code添加到needAddCodeArr数组中,一起批量请求
 			needAddCodeArr = append(needAddCodeArr, edbCode)
@@ -5702,28 +5706,30 @@ func (this *EdbInfoController) EdbInfoSmmSearch() {
 
 	for _, smmInfo := range smmInfoList {
 		if smmInfo != nil {
-			searchItem := new(data_manage.EdbInfoSearch)
-			minDate, maxDate, err := data_manage.GetEdbDataYsMaxAndMinDate(smmInfo.IndexCode)
-			if err != nil {
-				br.Msg = "获取失败"
-				br.ErrMsg = "获取YS日期信息失败,Err:" + err.Error()
-				return
-			}
-			searchItem.StartDate = minDate
-			searchItem.EndDate = maxDate
-			searchItem.Frequency = smmInfo.Frequency
-			searchItem.Unit = smmInfo.Unit
-			searchItem.EdbName = smmInfo.IndexName
-			searchItem.EdbCode = smmInfo.IndexCode
-			dataList, err := data_manage.GetEdbDataAllByEdbCode(smmInfo.IndexCode, utils.DATA_SOURCE_YS, utils.DATA_SUB_SOURCE_EDB, utils.EDB_DATA_LIMIT)
-			if err != nil && err.Error() != utils.ErrNoRow() {
-				br.Msg = "获取失败"
-				br.ErrMsg = "获取数据失败,GetEdbDataAllByEdbCode Err:" + err.Error()
-				return
-			}
-			searchItem.DataList = dataList
+			if _, ok := noNeedAddCodeMap[smmInfo.IndexCode]; !ok {
+				searchItem := new(data_manage.EdbInfoSearch)
+				minDate, maxDate, err := data_manage.GetEdbDataYsMaxAndMinDate(smmInfo.IndexCode)
+				if err != nil {
+					br.Msg = "获取失败"
+					br.ErrMsg = "获取YS日期信息失败,Err:" + err.Error()
+					return
+				}
+				searchItem.StartDate = minDate
+				searchItem.EndDate = maxDate
+				searchItem.Frequency = smmInfo.Frequency
+				searchItem.Unit = smmInfo.Unit
+				searchItem.EdbName = smmInfo.IndexName
+				searchItem.EdbCode = smmInfo.IndexCode
+				dataList, err := data_manage.GetEdbDataAllByEdbCode(smmInfo.IndexCode, utils.DATA_SOURCE_YS, utils.DATA_SUB_SOURCE_EDB, utils.EDB_DATA_LIMIT)
+				if err != nil && err.Error() != utils.ErrNoRow() {
+					br.Msg = "获取失败"
+					br.ErrMsg = "获取数据失败,GetEdbDataAllByEdbCode Err:" + err.Error()
+					return
+				}
+				searchItem.DataList = dataList
 
-			searchItemList = append(searchItemList, searchItem)
+				searchItemList = append(searchItemList, searchItem)
+			}
 		}
 	}