package predict_edb_rule_data

import (
	"time"
)

// PredictEdbRuleData 预测指标，动态规则的计算数据
type PredictEdbRuleData struct {
	PredictEdbRuleDataID int       `gorm:"primaryKey;column:predict_edb_rule_data_id;type:int(11);not null" json:"-"`
	EdbInfoID            uint32    `gorm:"column:edb_info_id;type:int(9) unsigned;default:0" json:"edbInfoId"`                               // 预测指标id
	ConfigID             int       `gorm:"uniqueIndex:idx_config_id_date;index:idx_config_id;column:config_id;type:int(11)" json:"configId"` // 配置id
	DataTime             time.Time `gorm:"uniqueIndex:idx_config_id_date;column:data_time;type:date" json:"dataTime"`                        // 数据日期
	Value                float64   `gorm:"column:value;type:decimal(38,4)" json:"value"`                                                     // 数据值
	CreateTime           time.Time `gorm:"column:create_time;type:datetime" json:"createTime"`                                               // 创建时间
	ModifyTime           time.Time `gorm:"column:modify_time;type:datetime" json:"modifyTime"`                                               // 修改时间
	DataTimestamp        int64     `gorm:"column:data_timestamp;type:bigint(20);default:0" json:"dataTimestamp"`                             // 数据日期时间戳
}

// TableName get sql table name.获取数据库表名
func (m *PredictEdbRuleData) TableName() string {
	return "predict_edb_rule_data"
}

// PredictEdbRuleDataColumns get sql column name.获取数据库列名
var PredictEdbRuleDataColumns = struct {
	PredictEdbRuleDataID string
	EdbInfoID            string
	ConfigID             string
	DataTime             string
	Value                string
	CreateTime           string
	ModifyTime           string
	DataTimestamp        string
}{
	PredictEdbRuleDataID: "predict_edb_rule_data_id",
	EdbInfoID:            "edb_info_id",
	ConfigID:             "config_id",
	DataTime:             "data_time",
	Value:                "value",
	CreateTime:           "create_time",
	ModifyTime:           "modify_time",
	DataTimestamp:        "data_timestamp",
}
