Files
bj_power/bj_power_mes/schema/alarm.go
T

56 lines
1.8 KiB
Go
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package schema
import (
"time"
"bj_power_mes/constants"
"entgo.io/ent"
"entgo.io/ent/dialect/entsql"
"entgo.io/ent/schema"
"entgo.io/ent/schema/field"
"entgo.io/ent/schema/index"
)
// Alarm 报警记录,存储系统è¿è¡Œè¿‡ç¨‹ä¸­äº§ç”Ÿçš„å„级别报警信æ¯
type Alarm struct {
ent.Schema
}
func (Alarm) Annotations() []schema.Annotation {
return []schema.Annotation{
entsql.Annotation{
Table: "alarm",
Options: "COMMENT='报警记录表,存储设备è¿è¡Œè¿‡ç¨‹ä¸­äº§ç”Ÿçš„å„级别报警信æ¯åŠå¤„ç†çжæ€?",
},
entsql.WithComments(true),
}
}
func (Alarm) Fields() []ent.Field {
return []ent.Field{
field.Int("id").Positive().Comment("主键ID"),
field.String("alarmCode").MaxLen(20).Comment("报警编ç ï¼Œå”¯ä¸€æ ‡è¯†ä¸€ç±»æŠ¥è­?),
field.String("alarmMessage").Default("").Comment("报警æè¿°ä¿¡æ¯ï¼Œäººå¯è¯»çšæŠ¥è­¦å†…å®?),
field.Enum("level").
GoType(constants.AlarmLevel("")).
Default(string(constants.AlarmLevel_INFO)).
Comment("报警等级:INFO/WARN/ERROR/CRITICAL"),
field.Int("equipmentId").Optional().Nillable().Comment("å…³è”设备IDï¼Œè§¦å‘æŠ¥è­¦çš„è®¾å¤‡"),
field.Int("jobId").Optional().Nillable().Comment("å…³è”工件IDï¼Œè§¦å‘æŠ¥è­¦æ—¶æ­£åœ¨åŠ å·¥çš„å·¥ä»?),
field.String("source").Default("").Comment("æŠ¥è­¦æ¥æºæ¨¡å,如PLCãä¼ æŸå™¨ã调度系统等"),
field.Bool("resolved").Default(false).Comment("是å¦å·²å¤„ç,trueè¡¨ç¤ºæŠ¥è­¦å·²è¢«ç¡®è®¤æˆæˆé™?),
field.Time("resolvedAt").Optional().Nillable().Comment("å¤„ç†æ—¶é—´ï¼ŒæŠ¥è­¦è¢«ç¡®è®¤æˆ–消除的时刻"),
field.Time("createdAt").Default(time.Now).Immutable().Comment("创建时间,报警产生的时刻"),
}
}
func (Alarm) Indexes() []ent.Index {
return []ent.Index{
index.Fields("level"),
index.Fields("equipmentId"),
index.Fields("resolved"),
index.Fields("createdAt"),
}
}