Explorar o código

Merge branch 'feature/eta2.6.5_kpler' into debug

xyxie hai 2 días
pai
achega
8ca17c8060
Modificáronse 2 ficheiros con 30 adicións e 11 borrados
  1. 5 1
      models/base_from_kpler.go
  2. 25 10
      services/base_from_kpler.go

+ 5 - 1
models/base_from_kpler.go

@@ -5,10 +5,11 @@ import (
 	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
 	"fmt"
-	"gorm.io/gorm"
 	"strconv"
 	"strings"
 	"time"
+
+	"gorm.io/gorm"
 )
 
 // BaseFromKpler Kpler数据
@@ -224,6 +225,7 @@ type BaseFromKplerIndex struct {
 	BaseFileName  string `description:"文件目录"`
 	TerminalCode  string `description:"所属终端编码"`
 	ApiQueryUrl   string `description:"API查询URL"`
+	ExcelQueryUrl string `description:"Excel查询URL"`
 	ProductNames  string `description:"产品名称"`
 	FromZoneId    int    `description:"区域ID"`
 	FromZoneName  string `description:"区域名称"`
@@ -320,6 +322,8 @@ type HandleKplerExcelData struct {
 	FlowDirection      string `description:"流向"`
 	Granularity        string `description:"粒度"`
 	Split              string `description:"拆分类型"`
+	SplitName          string `description:"拆分类型名称"`
+	ExcelQueryUrl      string `description:"Excel查询URL"`
 	ExcelDataMap       map[string]string
 }
 

+ 25 - 10
services/base_from_kpler.go

@@ -371,10 +371,6 @@ func HandleKplerIndex(req *models.HandleKplerExcelDataReq) (err error) {
 	}
 
 	for _, v := range req.List {
-		if v.IndexName == "" || v.IndexCode == "" {
-			errMsgList = append(errMsgList, fmt.Sprintf("新增指标异常,指标编码%s或者指标ID%s为空:", v.IndexCode, v.IndexName))
-			continue
-		}
 		err = handleKplerIndex(v, req.TerminalCode, classifyMap)
 		if err != nil {
 			errMsgList = append(errMsgList, fmt.Sprintf("新增指标异常,指标编码:%s, Err: %s", v.IndexCode, err))
@@ -458,6 +454,23 @@ func handleKplerIndex(req *models.HandleKplerExcelData, terminalCode string, cla
 		utils.FileLog.Info("未刷新到指标数据:indexName:" + indexName)
 		return
 	}
+
+	if req.ClassifyName == "" {
+		// 获取产品的名称,把产品的第一个名称作为分类ID
+		productNames := strings.Split(req.ProductNames, ",")
+		if len(productNames) > 0 {
+			req.ClassifyName = productNames[0]
+		}
+	}
+	fromZoneNamesStr := req.FromZoneName
+	flowDirection := req.FlowDirection
+	toZoneNamesStr := req.ToZoneName
+	productNamesStr := req.ProductNames
+	// 拼接指标编码
+	prefixIndexCode := fmt.Sprintf("k%s%s%s%s", fromZoneNamesStr, flowDirection, toZoneNamesStr, productNamesStr)
+	// 获取首字母
+	lastIndexCode := strings.ToUpper(req.Granularity[:1])
+	indexCode = fmt.Sprintf("%s%s%s", prefixIndexCode,req.SplitName, lastIndexCode)
 	// 判断目录是否存在
 	var classifyId int64
 	now := time.Now()
@@ -528,7 +541,7 @@ func handleKplerIndex(req *models.HandleKplerExcelData, terminalCode string, cla
 	if isAdd == 1 {
 		indexObj.IndexCode = indexCode
 		indexObj.IndexName = indexName
-		indexObj.Frequency = req.Frequency
+		indexObj.Frequency = getKplerFrequency(req.Granularity)
 		indexObj.ClassifyId = int(classifyId)
 		indexObj.ProductNames = req.ProductNames
 		indexObj.FromZoneId = req.FromZoneId
@@ -540,6 +553,7 @@ func handleKplerIndex(req *models.HandleKplerExcelData, terminalCode string, cla
 		indexObj.Split = req.Split
 		indexObj.Unit = req.Unit
 		indexObj.Sort = req.Sort
+		indexObj.ExcelQueryUrl = req.ExcelQueryUrl
 		indexObj.ModifyTime = time.Now()
 		indexObj.CreateTime = time.Now()
 		indexObj.TerminalCode = terminalCode
@@ -562,7 +576,7 @@ func handleKplerIndex(req *models.HandleKplerExcelData, terminalCode string, cla
 
 		indexObj.BaseFromKplerIndexId = item.BaseFromKplerIndexId
 		indexObj.IndexName = indexName
-		indexObj.Frequency = req.Frequency
+		indexObj.Frequency = getKplerFrequency(req.Granularity)
 		indexObj.ClassifyId = int(classifyId)
 		indexObj.ProductNames = req.ProductNames
 		indexObj.FromZoneId = req.FromZoneId
@@ -572,6 +586,7 @@ func handleKplerIndex(req *models.HandleKplerExcelData, terminalCode string, cla
 		indexObj.FlowDirection = req.FlowDirection
 		indexObj.Granularity = req.Granularity
 		indexObj.Split = req.Split
+		indexObj.ExcelQueryUrl = req.ExcelQueryUrl
 		indexObj.Unit = req.Unit
 		indexObj.Sort = req.Sort
 		indexObj.ModifyTime = time.Now()
@@ -736,13 +751,13 @@ func HttpPost(url, postData string, params ...string) ([]byte, error) {
 
 func getKplerFrequency(granularity string) (frequency string) {
 	switch granularity {
-	case "daily":
+	case "daily", "day":
 		return "日度"
-	case "weekly":
+	case "weekly", "weeks":
 		return "周度"
-	case "monthly":
+	case "monthly", "month":
 		return "月度"
-	case "yearly":
+	case "yearly", "year":
 		return "年度"
 	}
 	return ""