|
@@ -213,6 +213,10 @@ func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData)
|
|
|
if v.IndexCode == "" {
|
|
|
continue
|
|
|
}
|
|
|
+ // 无数据的情况不处理
|
|
|
+ if len(v.Data) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
|
|
|
// 指标是否存在
|
|
|
index, e := models.GetBaseFromBloombergIndexByCode(v.IndexCode)
|
|
@@ -236,6 +240,18 @@ func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData)
|
|
|
return
|
|
|
}
|
|
|
index = newIndex
|
|
|
+ } else {
|
|
|
+ // 无指标名称的情况下更新指标基础信息
|
|
|
+ if index.IndexName == "" {
|
|
|
+ index.IndexName = v.IndexName
|
|
|
+ index.Unit = v.Unit
|
|
|
+ index.Frequency = v.Frequency
|
|
|
+ index.ModifyTime = time.Now().Local()
|
|
|
+ if e = index.Update([]string{"IndexName", "Unit", "Frequency", "ModifyTime"}); e != nil {
|
|
|
+ err = fmt.Errorf("更新Bloomberg原始指标失败, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 更新指标数据
|
|
@@ -249,6 +265,7 @@ func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData)
|
|
|
return
|
|
|
}
|
|
|
dateExist := make(map[string]*models.BaseFromBloombergData)
|
|
|
+ newValExist := make(map[string]bool)
|
|
|
if len(indexData) > 0 {
|
|
|
for _, d := range indexData {
|
|
|
strDate := d.DataTime.Format(utils.FormatDate)
|
|
@@ -270,6 +287,11 @@ func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData)
|
|
|
originData.ModifyTime = time.Now().Local()
|
|
|
updateData = append(updateData, originData)
|
|
|
} else {
|
|
|
+ // 新增的数据去重
|
|
|
+ if newValExist[strDate] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ newValExist[strDate] = true
|
|
|
newData := new(models.BaseFromBloombergData)
|
|
|
newData.BaseFromBloombergIndexId = index.BaseFromBloombergIndexId
|
|
|
newData.IndexCode = index.IndexCode
|