|
@@ -108,7 +108,7 @@ func (c *ManualEdbController) EdbDetail() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- manualEdbInfo.DataList = dataNextDateTime
|
|
|
+ manualEdbInfo.NextDataTimeList = dataNextDateTime
|
|
|
}
|
|
|
|
|
|
resp := models.TargetDetailResp{
|
|
@@ -123,40 +123,50 @@ func (c *ManualEdbController) EdbDetail() {
|
|
|
}
|
|
|
|
|
|
// 封装指标数据下期时间
|
|
|
-func fillDataNextDateTime(list []*models.Edbdata) ([]*models.Edbdata, error) {
|
|
|
- if len(list) == 0 {
|
|
|
- return nil, nil
|
|
|
+func fillDataNextDateTime(list []*models.Edbdata) ([]*models.EdbDataNextDateTime, error) {
|
|
|
+ var nextDataDateTimeList []*models.EdbDataNextDateTime
|
|
|
+ var indexCodes []string
|
|
|
+ for _, item := range list {
|
|
|
+ indexCodes = append(indexCodes, item.TradeCode)
|
|
|
}
|
|
|
- nextDataDateTime := models.Edbdata{}
|
|
|
- indexCodes := []string{list[0].TradeCode}
|
|
|
edbinfoList, err := models.GetEdbinfoListByCodeListByCodeIdList(indexCodes)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
- 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)
|
|
|
- }
|
|
|
- list = append(list, &nextDataDateTime)
|
|
|
- return list, nil
|
|
|
+ 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
|
|
|
}
|
|
|
|
|
|
// ClassifyEdbList
|