|
@@ -23,9 +23,11 @@ type PCSGBloombergApiReq struct {
|
|
|
}
|
|
|
|
|
|
type PCSGBloombergTask struct {
|
|
|
- TaskKey string `json:"TaskKey"`
|
|
|
- Frequency string `json:"Frequency"`
|
|
|
- VCode bool `json:"VCode"`
|
|
|
+ TaskKey string `json:"TaskKey"`
|
|
|
+ Frequency string `json:"Frequency"`
|
|
|
+ VCode bool `json:"VCode"`
|
|
|
+ ExtraLetter string `json:"ExtraLetter"`
|
|
|
+ IndexNamePrefix string `json:"IndexNamePrefix"`
|
|
|
}
|
|
|
|
|
|
// LoadPCSGBloombergTask 加载配置
|
|
@@ -110,7 +112,7 @@ func GetPCSGBloombergGeneralIndexFromBridge(params PCSGBloombergApiReq) (indexes
|
|
|
}
|
|
|
|
|
|
// PCSGWrite2BaseBloomberg 写入彭博数据源
|
|
|
-func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData, isVCode bool) (err error) {
|
|
|
+func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData, isVCode bool, extraLetter, namePrefix string) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
tips := fmt.Sprintf("PCSGWrite2BaseBloomberg-写入彭博数据源失败, err: %s", err.Error())
|
|
@@ -118,6 +120,11 @@ func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData,
|
|
|
go alarm_msg.SendAlarmMsg(tips, 3)
|
|
|
}
|
|
|
}()
|
|
|
+ // 这里挡一下...万一没限制加进库了不好删...
|
|
|
+ if isVCode && extraLetter == "" {
|
|
|
+ err = fmt.Errorf("中间字母有误")
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
for _, v := range indexes {
|
|
|
if v.IndexCode == "" {
|
|
@@ -128,7 +135,7 @@ func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData,
|
|
|
continue
|
|
|
}
|
|
|
if isVCode {
|
|
|
- v.IndexCode = utils.InsertStr2StrIdx(v.IndexCode, " ", 1, "V")
|
|
|
+ v.IndexCode = utils.InsertStr2StrIdx(v.IndexCode, " ", 1, extraLetter)
|
|
|
}
|
|
|
|
|
|
// 指标是否存在
|
|
@@ -138,11 +145,17 @@ func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData,
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // 指标名称+前缀
|
|
|
+ indexName := v.IndexName
|
|
|
+ if indexName != "" && namePrefix != "" {
|
|
|
+ indexName = fmt.Sprint(namePrefix, indexName)
|
|
|
+ }
|
|
|
+
|
|
|
// 新增指标
|
|
|
if index == nil {
|
|
|
newIndex := new(models.BaseFromBloombergIndex)
|
|
|
newIndex.IndexCode = v.IndexCode
|
|
|
- newIndex.IndexName = v.IndexName
|
|
|
+ newIndex.IndexName = indexName
|
|
|
newIndex.Unit = v.Unit
|
|
|
newIndex.Source = utils.DATA_SOURCE_BLOOMBERG
|
|
|
newIndex.Frequency = v.Frequency
|
|
@@ -156,7 +169,7 @@ func PCSGWrite2BaseBloomberg(indexes []models.BaseFromBloombergApiIndexAndData,
|
|
|
} else {
|
|
|
// 无指标名称的情况下更新指标基础信息
|
|
|
if index.IndexName == "" {
|
|
|
- index.IndexName = v.IndexName
|
|
|
+ index.IndexName = indexName
|
|
|
index.Unit = v.Unit
|
|
|
index.Frequency = v.Frequency
|
|
|
index.ModifyTime = time.Now().Local()
|