|
@@ -7,7 +7,6 @@ import (
|
|
|
"fmt"
|
|
|
"github.com/zeromicro/go-zero/core/stores/sqlc"
|
|
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
|
- "strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
)
|
|
@@ -19,7 +18,7 @@ type (
|
|
|
// and implement the added methods in customDcItemHistoryDataModel.
|
|
|
DcItemHistoryDataModel interface {
|
|
|
dcItemHistoryDataModel
|
|
|
- MultiInsert(ctx context.Context, datas []DcItemHistoryData) (int64, error)
|
|
|
+ MultiInsert(ctx context.Context, projectId int64, datas []DcItemHistoryData) (int64, error)
|
|
|
QueryHistoryDataByTime(ctx context.Context, in *pb.ItemHistoryDataByTimeReq) ([]ItemHistoryData, error)
|
|
|
QueryHistoryDataMaxMinByTime(ctx context.Context, in *pb.ItemHistoryDataByTimeReq) (*MaxMinData, error)
|
|
|
}
|
|
@@ -47,8 +46,8 @@ func NewDcItemHistoryDataModel(conn sqlx.SqlConn) DcItemHistoryDataModel {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func (m *defaultDcItemHistoryDataModel) MultiInsert(ctx context.Context, datas []DcItemHistoryData) (int64, error) {
|
|
|
- query := fmt.Sprintf("insert ignore into %s (`item_name`,`val`,`h_time`) values (?, ?, ?)", getTableName(datas[0].ProjectId))
|
|
|
+func (m *defaultDcItemHistoryDataModel) MultiInsert(ctx context.Context, projectId int64, datas []DcItemHistoryData) (int64, error) {
|
|
|
+ query := fmt.Sprintf("insert ignore into %s (`item_name`,`val`,`h_time`) values (?, ?, ?)", m.getTableName(projectId))
|
|
|
|
|
|
if bulk, err := sqlx.NewBulkInserter(m.conn, query); err == nil {
|
|
|
for _, data := range datas {
|
|
@@ -67,7 +66,7 @@ func (m *defaultDcItemHistoryDataModel) MultiInsert(ctx context.Context, datas [
|
|
|
func (m *defaultDcItemHistoryDataModel) QueryHistoryDataByTime(ctx context.Context, in *pb.ItemHistoryDataByTimeReq) ([]ItemHistoryData, error) {
|
|
|
resp := make([]ItemHistoryData, 0)
|
|
|
var err error
|
|
|
- query := fmt.Sprintf("SELECT * FROM %s WHERE item_name in (?) AND h_time BETWEEN ? AND ?", getTableName(in.ProjectId))
|
|
|
+ query := fmt.Sprintf("SELECT * FROM %s WHERE item_name in (?) AND h_time BETWEEN ? AND ?", m.getTableName(in.ProjectId))
|
|
|
if strings.Index(in.ItemName, ",") > 0 {
|
|
|
err = m.conn.QueryRowsCtx(ctx, &resp, query, strings.Split(in.ItemName, ","), in.Stime, in.Etime)
|
|
|
} else {
|
|
@@ -87,7 +86,7 @@ func (m *defaultDcItemHistoryDataModel) QueryHistoryDataByTime(ctx context.Conte
|
|
|
func (m *defaultDcItemHistoryDataModel) QueryHistoryDataMaxMinByTime(ctx context.Context, in *pb.ItemHistoryDataByTimeReq) (*MaxMinData, error) {
|
|
|
resp := &MaxMinData{}
|
|
|
var err error
|
|
|
- query := fmt.Sprintf("SELECT max(val) as max_val, min(val) as min_val FROM %s WHERE item_name = ? AND h_time BETWEEN ? AND ?", getTableName(in.ProjectId))
|
|
|
+ query := fmt.Sprintf("SELECT max(val) as max_val, min(val) as min_val FROM %s WHERE item_name = ? AND h_time BETWEEN ? AND ?", m.getTableName(in.ProjectId))
|
|
|
err = m.conn.QueryRowCtx(ctx, resp, query, in.ItemName, in.Stime, in.Etime)
|
|
|
|
|
|
switch err {
|
|
@@ -106,10 +105,11 @@ func (m *defaultDcItemHistoryDataModel) QueryHistoryDataMaxMinByTime(ctx context
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func getTableName(projectId int64) string {
|
|
|
- itemDataStr := "dc_item_history_data_"
|
|
|
- projectStr := strconv.Itoa(int(projectId))
|
|
|
- return itemDataStr + projectStr
|
|
|
+func (m *defaultDcItemHistoryDataModel) getTableName(projectId int64) string {
|
|
|
+ //itemDataStr := "dc_item_history_data_"
|
|
|
+ //projectStr := strconv.Itoa(int(projectId))
|
|
|
+ //return itemDataStr + projectStr
|
|
|
+ return fmt.Sprintf("dc_item_history_data_%d", projectId)
|
|
|
}
|
|
|
|
|
|
/*
|