|
@@ -185,27 +185,6 @@ func InitBaseIndexData(dataPath string) {
|
|
|
}
|
|
|
}
|
|
|
fmt.Println("add index success:" + indexCode)
|
|
|
-
|
|
|
- //刷新指标
|
|
|
- {
|
|
|
- switch source {
|
|
|
- case "wind", "万得":
|
|
|
- method = "wind/refresh"
|
|
|
- case "ths", "同花顺":
|
|
|
- method = "ths/refresh"
|
|
|
- case "彭博":
|
|
|
- method = "pb/refresh"
|
|
|
- case "":
|
|
|
-
|
|
|
- }
|
|
|
- if method != `` {
|
|
|
- refreshMap := make(map[string]interface{})
|
|
|
- refreshMap["EdbInfoId"] = indexResp.Data.EdbInfoId
|
|
|
- refreshMap["EdbCode"] = indexCode
|
|
|
- refreshMap["StartDate"] = "1990-01-01"
|
|
|
- PostEdbLib(refreshMap, method)
|
|
|
- }
|
|
|
- }
|
|
|
} else {
|
|
|
fmt.Println("data is empty")
|
|
|
fmt.Println(classifyFirst, classifySecond, classifyThree, indexCode, indexName, frequency, unit, source)
|
|
@@ -428,6 +407,221 @@ func InitBaseIndexDataFromMysteel(filePath string) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// 初始化基础指标数据-有色
|
|
|
+func InitBaseIndexDataFromDataSourceSmm(filePath string) {
|
|
|
+ var err error
|
|
|
+
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("InitBaseIndexDataFromDataSourceSmm Err:" + err.Error())
|
|
|
+ utils.FileLog.Info("InitBaseIndexDataFromDataSourceSmm Err:" + err.Error())
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ //读取excel
|
|
|
+ path, err := filepath.Abs(os.Args[0])
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ dir := filepath.Dir(path)
|
|
|
+ fmt.Println("dir:" + dir)
|
|
|
+ dataPath := dir + filePath
|
|
|
+ fmt.Println("dataPath:" + dataPath)
|
|
|
+ f, err := excelize.OpenFile(dataPath)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ // Close the spreadsheet.
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ rows, err := f.GetRows("Sheet1")
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fmt.Println("rows len:", len(rows))
|
|
|
+ for rk, row := range rows {
|
|
|
+ if rk > 0 {
|
|
|
+ var classifyFirst, classifySecond, classifyThree, indexCode, indexName, frequency, unit, source string
|
|
|
+ for ck, colCell := range row {
|
|
|
+ switch ck {
|
|
|
+ case 0:
|
|
|
+ classifyFirst = colCell
|
|
|
+ case 1:
|
|
|
+ classifySecond = colCell
|
|
|
+ case 2:
|
|
|
+ classifyThree = colCell
|
|
|
+ case 3:
|
|
|
+ indexCode = colCell
|
|
|
+ case 4:
|
|
|
+ indexName = colCell
|
|
|
+ case 5:
|
|
|
+ frequency = colCell
|
|
|
+ case 6:
|
|
|
+ unit = colCell
|
|
|
+ case 7:
|
|
|
+ source = colCell
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if classifyFirst != "" &&
|
|
|
+ classifySecond != "" &&
|
|
|
+ classifyThree != "" &&
|
|
|
+ indexCode != "" &&
|
|
|
+ indexName != "" &&
|
|
|
+ unit != "" &&
|
|
|
+ frequency != "" &&
|
|
|
+ source != "" {
|
|
|
+
|
|
|
+ //判断指标是否存在
|
|
|
+ method := "smm/index_detail/from_data_source"
|
|
|
+ indexSearchMap := make(map[string]interface{})
|
|
|
+ indexSearchMap["IndexCode"] = indexCode
|
|
|
+ indexResult, err := PostEdbLib(indexSearchMap, method)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("判断指标是否存在失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ smmIndexResp := new(models.BaseFromSmmIndexResp)
|
|
|
+ err = json.Unmarshal(indexResult, &smmIndexResp)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("判断指标是否存在失败:" + err.Error())
|
|
|
+ fmt.Println("判断指标是否存在失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if smmIndexResp.Ret != 200 {
|
|
|
+ fmt.Println("判断指标是否存在失败,Err:" + smmIndexResp.ErrMsg)
|
|
|
+ //utils.FileLog.Info("判断指标是否存在失败:" + err.Error())
|
|
|
+ //return
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ if smmIndexResp.Data.BaseFromSmmIndexId <= 0 {
|
|
|
+ fmt.Println("指标:" + indexCode + ";不存在")
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ method = "classify/get_or_add"
|
|
|
+ classifyFirstMap := make(map[string]interface{})
|
|
|
+ classifyFirstMap["ClassifyName"] = classifyFirst
|
|
|
+ classifyFirstMap["ParentId"] = 0
|
|
|
+ classifyFirstMap["Level"] = 0
|
|
|
+ classifyFirstMap["ClassifyType"] = 0
|
|
|
+ result, err := PostEdbLib(classifyFirstMap, method)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("初始化分类1失败:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ resp := new(models.ClassifyResp)
|
|
|
+ err = json.Unmarshal(result, &resp)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("初始化分类1失败:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if resp.Ret != 200 {
|
|
|
+ utils.FileLog.Info("初始化分类1失败:" + resp.Msg + ";" + resp.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ classifySecondMap := make(map[string]interface{})
|
|
|
+ classifySecondMap["ClassifyName"] = classifySecond
|
|
|
+ classifySecondMap["ParentId"] = resp.Data.ClassifyId
|
|
|
+ classifySecondMap["Level"] = 1
|
|
|
+ classifySecondMap["ClassifyType"] = 0
|
|
|
+ result, err = PostEdbLib(classifySecondMap, method)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("初始化分类2失败:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp = new(models.ClassifyResp)
|
|
|
+ err = json.Unmarshal(result, &resp)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("初始化分类2失败:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if resp.Ret != 200 {
|
|
|
+ utils.FileLog.Info("初始化分类2失败:" + resp.Msg + ";" + resp.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ classifyThreeMap := make(map[string]interface{})
|
|
|
+ classifyThreeMap["ClassifyName"] = classifyThree
|
|
|
+ classifyThreeMap["ParentId"] = resp.Data.ClassifyId
|
|
|
+ classifyThreeMap["Level"] = 2
|
|
|
+ classifyThreeMap["ClassifyType"] = 0
|
|
|
+ result, err = PostEdbLib(classifyThreeMap, method)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("初始化分类3失败:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp = new(models.ClassifyResp)
|
|
|
+ err = json.Unmarshal(result, &resp)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("初始化分类3失败:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if resp.Ret != 200 {
|
|
|
+ utils.FileLog.Info("初始化分类3失败:" + resp.Msg + ";" + resp.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ method = "edb_info/add"
|
|
|
+ indexMap := make(map[string]interface{})
|
|
|
+ indexMap["Source"] = IndexSourceMap[source]
|
|
|
+ indexMap["EdbCode"] = indexCode
|
|
|
+ indexMap["EdbName"] = indexName
|
|
|
+ indexMap["Frequency"] = frequency
|
|
|
+ indexMap["Unit"] = unit
|
|
|
+ indexMap["ClassifyId"] = resp.Data.ClassifyId
|
|
|
+ result, err = PostEdbLib(indexMap, method)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("初始化指标失败:" + err.Error() + " result:" + string(result))
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ indexResp := new(models.EdbInfoResp)
|
|
|
+ err = json.Unmarshal(result, &indexResp)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("初始化分类2失败:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if indexResp.Ret != 200 {
|
|
|
+ if strings.Contains(indexResp.Msg, "新增指标失败") {
|
|
|
+ continue
|
|
|
+ } else {
|
|
|
+ fmt.Println("初始化指标失败:" + indexResp.Msg + ";" + indexResp.ErrMsg)
|
|
|
+ utils.FileLog.Info("初始化指标失败:" + indexResp.Msg + ";" + indexResp.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fmt.Println("add index success:" + indexCode)
|
|
|
+ //刷新指标
|
|
|
+ {
|
|
|
+ refreshMethod := "smm/refresh"
|
|
|
+ refreshMap := make(map[string]interface{})
|
|
|
+ refreshMap["EdbInfoId"] = indexResp.Data.EdbInfoId
|
|
|
+ refreshMap["EdbCode"] = indexCode
|
|
|
+ refreshMap["StartDate"] = "1990-01-01"
|
|
|
+ PostEdbLib(refreshMap, refreshMethod)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ fmt.Println("data is empty")
|
|
|
+ fmt.Println(classifyFirst, classifySecond, classifyThree, indexCode, indexName, frequency, unit, source)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
// PostEdbLib 调用指标接口
|
|
|
func PostEdbLib(param map[string]interface{}, method string) (resp *models.BaseResponse, err error) {
|