Просмотр исходного кода

手工数据录入优化-最新日期-详情结构调整

gmy 8 месяцев назад
Родитель
Сommit
e095d38731
1 измененных файлов с 32 добавлено и 40 удалено
  1. 32 40
      controllers/data_manage/manual_edb.go

+ 32 - 40
controllers/data_manage/manual_edb.go

@@ -108,7 +108,7 @@ func (c *ManualEdbController) EdbDetail() {
 			return
 		}
 
-		manualEdbInfo.NextDataTimeList = dataNextDateTime
+		manualEdbInfo.DataList = dataNextDateTime
 	}
 
 	resp := models.TargetDetailResp{
@@ -123,50 +123,42 @@ func (c *ManualEdbController) EdbDetail() {
 }
 
 // 封装指标数据下期时间
-func fillDataNextDateTime(list []*models.Edbdata) ([]*models.EdbDataNextDateTime, error) {
-	var nextDataDateTimeList []*models.EdbDataNextDateTime
-	var indexCodes []string
-	for _, item := range list {
-		indexCodes = append(indexCodes, item.TradeCode)
+func fillDataNextDateTime(list []*models.Edbdata) ([]*models.Edbdata, error) {
+	if len(list) == 0 {
+		return nil, nil
 	}
+	nextDataDateTime := models.Edbdata{}
+	nextDataDateTime.TradeCode = list[0].TradeCode
+	indexCodes := []string{list[0].TradeCode}
 	edbinfoList, err := models.GetEdbinfoListByCodeListByCodeIdList(indexCodes)
 	if err != nil {
 		return nil, err
 	}
-	edbinfoMap := make(map[string]*models.Edbinfo)
-	for _, item := range edbinfoList {
-		edbinfoMap[item.TradeCode] = item
-	}
-
-	for _, item := range list {
-		nextDataDateTime := &models.EdbDataNextDateTime{
-			TradeCode:  item.TradeCode,
-			Dt:         item.Dt,
-			Close:      item.Close,
-			ModifyTime: item.ModifyTime,
-		}
-
-		date := utils.StrDateToDate(item.Dt)
-		frequency := edbinfoMap[item.TradeCode].Frequency
-		switch frequency {
-		case "日度":
-			nextDataDateTime.NextDateTime = date.AddDate(0, 0, 1).Format(utils.FormatDate)
-		case "周度":
-			nextDataDateTime.NextDateTime = date.AddDate(0, 0, 7).Format(utils.FormatDate)
-		case "旬度":
-			nextDataDateTime.NextDateTime = date.AddDate(0, 0, 10).Format(utils.FormatDate)
-		case "月度":
-			nextDataDateTime.NextDateTime = date.AddDate(0, 1, 0).Format(utils.FormatDate)
-		case "季度":
-			nextDataDateTime.NextDateTime = date.AddDate(0, 3, 0).Format(utils.FormatDate)
-		case "半年度":
-			nextDataDateTime.NextDateTime = date.AddDate(0, 6, 0).Format(utils.FormatDate)
-		case "年度":
-			nextDataDateTime.NextDateTime = date.AddDate(1, 0, 0).Format(utils.FormatDate)
-		}
-		nextDataDateTimeList = append(nextDataDateTimeList, nextDataDateTime)
-	}
-	return nextDataDateTimeList, nil
+	if len(edbinfoList) == 0 {
+		return list, nil
+	}
+
+	date := utils.StrDateToDate(list[0].Dt)
+	frequency := edbinfoList[0].Frequency
+	switch frequency {
+	case "日度":
+		nextDataDateTime.Dt = date.AddDate(0, 0, 1).Format(utils.FormatDate)
+	case "周度":
+		nextDataDateTime.Dt = date.AddDate(0, 0, 7).Format(utils.FormatDate)
+	case "旬度":
+		nextDataDateTime.Dt = date.AddDate(0, 0, 10).Format(utils.FormatDate)
+	case "月度":
+		nextDataDateTime.Dt = date.AddDate(0, 1, 0).Format(utils.FormatDate)
+	case "季度":
+		nextDataDateTime.Dt = date.AddDate(0, 3, 0).Format(utils.FormatDate)
+	case "半年度":
+		nextDataDateTime.Dt = date.AddDate(0, 6, 0).Format(utils.FormatDate)
+	case "年度":
+		nextDataDateTime.Dt = date.AddDate(1, 0, 0).Format(utils.FormatDate)
+	}
+	// nextDataDateTime 添加到list第一个
+	list = append([]*models.Edbdata{&nextDataDateTime}, list...)
+	return list, nil
 }
 
 // ClassifyEdbList