|
@@ -246,8 +246,31 @@ func (this *BloombergController) PCSGRefreshTask() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // 此处重新整理一下, 将同一指标的数据合并, 否则会使刷新时间变得很长
|
|
|
+ var newIndexes []models.BaseFromBloombergApiIndexAndData
|
|
|
+ indexCodeMap := make(map[string]models.BaseFromBloombergApiIndexAndData)
|
|
|
+ indexCodeData := make(map[string][]models.BaseFromBloombergApiIndexData)
|
|
|
+ for _, iv := range indexes {
|
|
|
+ if indexCodeMap[iv.IndexCode].IndexCode == "" {
|
|
|
+ var indexItem models.BaseFromBloombergApiIndexAndData
|
|
|
+ indexItem.IndexCode = iv.IndexCode
|
|
|
+ indexItem.IndexName = iv.IndexName
|
|
|
+ indexItem.Unit = iv.Unit
|
|
|
+ indexItem.Source = iv.Source
|
|
|
+ indexItem.Frequency = iv.Frequency
|
|
|
+ indexItem.CreateTime = iv.CreateTime
|
|
|
+ indexItem.ModifyTime = iv.ModifyTime
|
|
|
+ indexCodeMap[iv.IndexCode] = indexItem
|
|
|
+ }
|
|
|
+ indexCodeData[iv.IndexCode] = append(indexCodeData[iv.IndexCode], iv.Data...)
|
|
|
+ }
|
|
|
+ for _, mv := range indexCodeMap {
|
|
|
+ mv.Data = indexCodeData[mv.IndexCode]
|
|
|
+ newIndexes = append(newIndexes, mv)
|
|
|
+ }
|
|
|
+
|
|
|
// 写入数据
|
|
|
- if e = services.PCSGWrite2BaseBloomberg(indexes, v.VCode); e != nil {
|
|
|
+ if e = services.PCSGWrite2BaseBloomberg(newIndexes, v.VCode); e != nil {
|
|
|
br.Msg = "刷新失败"
|
|
|
br.ErrMsg = "PCSG-写入Bloomberg数据源失败, Err: " + e.Error()
|
|
|
return
|