Procházet zdrojové kódy

兼容来自mongo的指标数据

xyxie před 10 měsíci
rodič
revize
5984f86433

+ 29 - 0
models/data_manage/edb_data_base.go

@@ -6,6 +6,7 @@ import (
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
 	"go.mongodb.org/mongo-driver/bson"
+	"strconv"
 	"time"
 )
 
@@ -254,6 +255,34 @@ func GetEdbDataBaseByEdbInfoId(edbInfoId int, source, subSource int) (items []*E
 	return
 }
 
+func GetEdbDataBaseMongoByEdbInfoId(edbInfoId int, source, subSource int) (list []*EdbDataBase, err error) {
+	list = make([]*EdbDataBase, 0)
+
+	mogDataObj := mgo.EdbDataBusiness{}
+	// 构建查询条件
+	queryConditions := bson.M{
+		"edb_info_id": edbInfoId,
+	}
+	// 获取列表数据
+	tmpDataList, tmpErr := mogDataObj.GetAllDataList(queryConditions, []string{"data_time"})
+	if tmpErr != nil {
+		err = tmpErr
+		return
+	}
+	for k, v := range tmpDataList {
+
+		list = append(list, &EdbDataBase{
+			EdbDataId:     k + 1,
+			EdbInfoId:     v.EdbInfoId,
+			DataTime:      v.DataTime.Format(utils.FormatDate),
+			DataTimestamp: v.DataTimestamp,
+			Value:         strconv.FormatFloat(v.Value, 'f', -1, 64),
+		})
+	}
+
+	return
+}
+
 func GetEdbDataAllByEdbCodeByMongo(edbCode string, source, subSource, limit int) (list []*EdbInfoSearchData, err error) {
 	list = make([]*EdbInfoSearchData, 0)
 

+ 9 - 3
services/eta_forum/eta_forum_hub.go

@@ -261,9 +261,15 @@ func GetEdbListByEdbInfoId(edbInfoIds []int) (edbInfoList []*data_manage.EdbInfo
 	}
 
 	for _, v := range edbInfoList {
-		dataList, e := data_manage.GetEdbDataBaseByEdbInfoId(v.EdbInfoId, v.Source, v.SubSource)
-		if e != nil {
-			err = fmt.Errorf("查询指标数据失败 Err: %s", e.Error())
+		var dataList []*data_manage.EdbDataBase
+		if v.Source == utils.DATA_SOURCE_BUSINESS {
+			dataList, err = data_manage.GetEdbDataBaseMongoByEdbInfoId(v.EdbInfoId, v.Source, v.SubSource)
+		} else {
+			dataList, err = data_manage.GetEdbDataBaseByEdbInfoId(v.EdbInfoId, v.Source, v.SubSource)
+		}
+
+		if err != nil {
+			err = fmt.Errorf("查询指标数据失败 Err: %s", err.Error())
 			return
 		}