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"}, } } func (Alarm) Fields() []ent.Field { return []ent.Field{ field.Int("id").Positive(), field.String("alarmCode").MaxLen(20).Comment("报警编码"), field.String("alarmMessage").Default("").Comment("报警描述"), field.Enum("level"). GoType(constants.AlarmLevel("")). Default(string(constants.AlarmLevel_INFO)). Comment("报警等级"), field.Int("equipmentId").Optional().Nillable().Comment("关联设备ID"), field.Int("jobId").Optional().Nillable().Comment("关联工件ID"), field.String("source").Default("").Comment("报警来源"), field.Bool("resolved").Default(false).Comment("是否已处理"), 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"), } }