Parcourir la source

点位历史数据加秒级返回&首条末条接口无数据返回空

songxiaohang il y a 1 an
Parent
commit
103858e2db

+ 1 - 1
app/cmd/dtgateway/etc/dtgateway.test.yaml

@@ -1,7 +1,7 @@
 Name: dtgateway-api
 Host: 0.0.0.0
 Port: 1009
-Mode: test
+Mode: dev
 Timeout: 0
 #100MB
 MaxBytes: 104857600

+ 12 - 6
app/cmd/organization/internal/logic/itemHistoryDataFirstLastByTimeLogic.go

@@ -6,6 +6,7 @@ import (
 	"GtDataStore/common/xerr"
 	"context"
 	"github.com/pkg/errors"
+	"github.com/zeromicro/go-zero/core/stores/sqlx"
 
 	"github.com/zeromicro/go-zero/core/logx"
 )
@@ -25,14 +26,19 @@ func NewItemHistoryDataFirstLastByTimeLogic(ctx context.Context, svcCtx *svc.Ser
 }
 
 func (l *ItemHistoryDataFirstLastByTimeLogic) ItemHistoryDataFirstLastByTime(in *pb.ItemHistoryDataByTimeReq) (*pb.ItemHistoryDataFirstLastResp, error) {
-	FirstData, err := l.svcCtx.ItemHistoryData.QueryHistoryDataFirstByTime(l.ctx, in)
-	if err != nil {
-		return nil, errors.Wrapf(xerr.NewErrCode(xerr.DB_ERROR), "model QueryHistoryDataFirstByTime get data err:%v", err)
+	FirstData, err1 := l.svcCtx.ItemHistoryData.QueryHistoryDataFirstByTime(l.ctx, in)
+	if err1 != nil && err1 != sqlx.ErrNotFound {
+		return nil, errors.Wrapf(xerr.NewErrCode(xerr.DB_ERROR), "model QueryHistoryDataFirstByTime get data err:%v", err1)
 	}
-	LastData, err := l.svcCtx.ItemHistoryData.QueryHistoryDataLastByTime(l.ctx, in)
-	if err != nil {
-		return nil, errors.Wrapf(xerr.NewErrCode(xerr.DB_ERROR), "model QueryHistoryDataLastByTime get data err:%v", err)
+	LastData, err2 := l.svcCtx.ItemHistoryData.QueryHistoryDataLastByTime(l.ctx, in)
+	if err2 != nil && err2 != sqlx.ErrNotFound {
+		return nil, errors.Wrapf(xerr.NewErrCode(xerr.DB_ERROR), "model QueryHistoryDataLastByTime get data err:%v", err2)
 	}
+
+	if err1 == sqlx.ErrNotFound && err2 == sqlx.ErrNotFound {
+		return nil, nil
+	}
+
 	return &pb.ItemHistoryDataFirstLastResp{
 		First: FirstData.Val,
 		Last:  LastData.Val,

+ 5 - 1
app/model/dcitemhistorydatamodel.go

@@ -177,7 +177,11 @@ func (m *defaultDcItemHistoryDataModel) QueryHistoryDataForChart(ctx context.Con
 	resp := make([]*pb.ItemHistoryDataForChart, 0)
 	var err error
 	var selectFormat, timeLpad, timeZero string
-	if in.Interval == "minute" {
+	if in.Interval == "s" {
+		selectFormat = "%Y-%m-%d %H:%i"
+		timeLpad = "%s"
+		timeZero = ""
+	} else if in.Interval == "minute" {
 		selectFormat = "%Y-%m-%d %H:"
 		timeLpad = "%i"
 		timeZero = ":00"