|
@@ -1,6 +1,6 @@
|
|
|
// Package ruizide
|
|
|
// @Author gmy 2024/10/21 10:50:00
|
|
|
-package ruizide
|
|
|
+package main
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
@@ -8,20 +8,22 @@ import (
|
|
|
"eta/eta_data_analysis/utils"
|
|
|
"fmt"
|
|
|
"github.com/beego/beego/v2/core/logs"
|
|
|
+ "math"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"unicode"
|
|
|
)
|
|
|
|
|
|
var classifyMap = map[string]string{
|
|
|
- "Road Index": "analytics library",
|
|
|
- "Road Active Fleet": "analytics library",
|
|
|
- "Aviation Index": "analytics library",
|
|
|
- "Aviation Active Fleet": "analytics library",
|
|
|
- "Demand-Gasoline": "analytics library",
|
|
|
- "Demand - Diesel": "analytics library",
|
|
|
- "Demand - Jet Fuel": "analytics library",
|
|
|
- "Demand - Maritime Bunker": "analytics library",
|
|
|
+ "Road Index": "analytics library",
|
|
|
+ "Road Active Fleet": "analytics library",
|
|
|
+ "Aviation Index": "analytics library",
|
|
|
+ "Aviation Active Fleet": "analytics library",
|
|
|
+ "Demand-Gasoline": "analytics library",
|
|
|
+ "Demand - Diesel": "analytics library",
|
|
|
+ "Demand - Jet Fuel": "analytics library",
|
|
|
+ "Demand - Maritime Bunker": "analytics library",
|
|
|
+ "Oil_Demand_Signals_Weekly_Report": "analytics library",
|
|
|
}
|
|
|
|
|
|
// RoadIndexProcessor
|
|
@@ -51,6 +53,10 @@ func (p *RoadIndexProcessor) Process(tableName string, sheetName string, rowData
|
|
|
|
|
|
// step_3: 指标数据
|
|
|
dataList, err := dealData(indexOneId, indexTwoId, indexCodeOne, indexCodeTwo, rowData)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ logs.Info("dataList: %v", dataList)
|
|
|
|
|
|
return dataList, err
|
|
|
}
|
|
@@ -62,11 +68,18 @@ func dealData(indexOneId, indexTwoId int, indexCodeOne, indexCodeTwo string, row
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
+ valueOne = math.Round(valueOne*10000) / 10000
|
|
|
+
|
|
|
dataTimeOne := rowData[1]
|
|
|
+ formatOne, err := utils.ConvertDateFormat(dataTimeOne)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ dataTimeOne = formatOne
|
|
|
|
|
|
paramsLib := make(map[string]interface{})
|
|
|
- paramsLib["indexCode"] = indexCodeOne
|
|
|
- paramsLib["dataTime"] = dataTimeOne
|
|
|
+ paramsLib["IndexCode"] = indexCodeOne
|
|
|
+ paramsLib["DataTime"] = dataTimeOne
|
|
|
postEdbLib, err := httpRequestFill(paramsLib, utils.GET_RZD_INDEX_DATA_BY_CODE_AND_TIME)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
@@ -76,7 +89,7 @@ func dealData(indexOneId, indexTwoId int, indexCodeOne, indexCodeTwo string, row
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
- if requestResponse.Data.BaseFromRzdIndexId != 0 {
|
|
|
+ if requestResponse.Data.BaseFromRzdIndexId == 0 {
|
|
|
dataOne := models.BaseFromRzdData{
|
|
|
BaseFromRzdIndexId: indexOneId,
|
|
|
CreateTime: utils.GetCurrentTime(),
|
|
@@ -92,7 +105,14 @@ func dealData(indexOneId, indexTwoId int, indexCodeOne, indexCodeTwo string, row
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
+ valueTwo = math.Round(valueTwo*10000) / 10000
|
|
|
+
|
|
|
dataTimeTwo := rowData[1]
|
|
|
+ formatTwo, err := utils.ConvertDateFormat(dataTimeTwo)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ dataTimeTwo = formatTwo
|
|
|
|
|
|
paramsLib = make(map[string]interface{})
|
|
|
paramsLib["indexCode"] = indexCodeTwo
|
|
@@ -106,7 +126,7 @@ func dealData(indexOneId, indexTwoId int, indexCodeOne, indexCodeTwo string, row
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
- if requestResponseTwo.Data.BaseFromRzdIndexId != 0 {
|
|
|
+ if requestResponseTwo.Data.BaseFromRzdIndexId == 0 {
|
|
|
dataTwo := models.BaseFromRzdData{
|
|
|
BaseFromRzdIndexId: indexTwoId,
|
|
|
CreateTime: utils.GetCurrentTime(),
|
|
@@ -126,8 +146,8 @@ func dealIndex(sheetName string, rowData []string, indexNameColOne string, index
|
|
|
indexNameOne := sheetName + "/" + rowData[len(rowData)-3] + "/" + indexNameColOne
|
|
|
indexNameTwo := sheetName + "/" + rowData[len(rowData)-3] + "/" + indexNameColTwo
|
|
|
// 生成指标编码
|
|
|
- indexCodeOne, err = getIndexId(sheetName, rowData[len(rowData)-3], indexNameColOne)
|
|
|
- indexCodeTwo, err = getIndexId(sheetName, rowData[len(rowData)-3], indexNameColTwo)
|
|
|
+ indexCodeOne, err = getIndexId(sheetName, strings.ToLower(rowData[len(rowData)-3]), indexNameColOne)
|
|
|
+ indexCodeTwo, err = getIndexId(sheetName, strings.ToLower(rowData[len(rowData)-3]), indexNameColTwo)
|
|
|
|
|
|
// 处理第一个指标
|
|
|
paramsLib := make(map[string]interface{})
|
|
@@ -236,7 +256,7 @@ func getIndexId(prefix string, area string, suffix string) (string, error) {
|
|
|
func dealClassify(tableName, sheetName string) (int, error) {
|
|
|
// 查询一级分类是否存在
|
|
|
paramsLib := make(map[string]interface{})
|
|
|
- paramsLib["classifyName"] = tableName
|
|
|
+ paramsLib["classifyName"] = classifyMap[tableName]
|
|
|
postEdbLib, err := httpRequestFill(paramsLib, utils.GET_RZD_CLASSIFY_BY_NAME)
|
|
|
if err != nil {
|
|
|
return 0, fmt.Errorf("AnalyticsLibraryProcessor Process() : failed to get classify: %v", err)
|
|
@@ -253,7 +273,7 @@ func dealClassify(tableName, sheetName string) (int, error) {
|
|
|
// 一级分类不存在,新增一级分类
|
|
|
paramsLib = make(map[string]interface{})
|
|
|
paramsLib["parentId"] = 0
|
|
|
- paramsLib["classifyName"] = tableName
|
|
|
+ paramsLib["classifyName"] = classifyMap[tableName]
|
|
|
postEdbLib, err = httpRequestFill(paramsLib, utils.ADD_RZD_CLASSIFY)
|
|
|
if err != nil {
|
|
|
return 0, fmt.Errorf("AnalyticsLibraryProcessor Process() : failed to add classify: %v", err)
|