You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.2 KiB
64 lines
1.2 KiB
package common_models
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
type AggData struct {
|
|
Date time.Time
|
|
SensorId int
|
|
StructId int
|
|
FactorId int
|
|
AggTypeId int // 聚集类型 : 10分钟/30分钟/3小时/6小时/12小时/时/日/周/月聚集
|
|
AggMethodId int // 聚集方法 : 平均值/最大值/最小值
|
|
Agg map[string]float64 // 聚集数据
|
|
Changed map[string]float64 // 变化量
|
|
ThingId string
|
|
}
|
|
|
|
func (the *AggData) T() time.Time {
|
|
return the.Date
|
|
}
|
|
|
|
func (the *AggData) Q() string {
|
|
return fmt.Sprintf("aggData:%d", the.SensorId)
|
|
}
|
|
|
|
func (the *AggData) R() string {
|
|
return fmt.Sprintf("[Structure:%d][Station:%d]", the.StructId, the.SensorId)
|
|
}
|
|
|
|
func (the *AggData) GetThingId() string {
|
|
return the.ThingId
|
|
}
|
|
|
|
// GetDeviceId 返回SensorId
|
|
func (the *AggData) GetDeviceId() string {
|
|
return fmt.Sprintf("%d", the.SensorId)
|
|
}
|
|
|
|
var typeDict = map[int]string{
|
|
2001: "d",
|
|
2002: "w",
|
|
2003: "m",
|
|
2004: "y",
|
|
2005: "h",
|
|
2006: "10m",
|
|
2007: "30m",
|
|
2008: "3h",
|
|
2009: "6h",
|
|
2010: "12h",
|
|
3001: "avg",
|
|
3002: "max",
|
|
3003: "min",
|
|
3004: "mid",
|
|
3005: "sum",
|
|
}
|
|
|
|
//func GetAggTypeName(t int) string {
|
|
// if val, ok := typeDict[t]; ok {
|
|
// return val
|
|
// }
|
|
// return ""
|
|
//}
|
|
|