label_tagging.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package schema
  2. import (
  3. "entgo.io/ent"
  4. "entgo.io/ent/dialect/entsql"
  5. "entgo.io/ent/schema"
  6. "entgo.io/ent/schema/field"
  7. "github.com/suyuan32/simple-admin-common/orm/ent/mixins"
  8. "wechat-api/ent/schema/localmixin"
  9. )
  10. type LabelTagging struct {
  11. ent.Schema
  12. }
  13. func (LabelTagging) Fields() []ent.Field {
  14. return []ent.Field{
  15. field.Uint64("organization_id").Default(1).
  16. Comment("机构 ID").
  17. Annotations(entsql.WithComments(true)),
  18. field.Int("type").Default(1).
  19. Annotations(entsql.WithComments(true)).
  20. Comment("标签类型:1好友,2群组,3公众号,4企业微信联系人"),
  21. field.String("conditions").Default("").
  22. Annotations(entsql.WithComments(true)).
  23. Comment("关键词"),
  24. field.JSON("action_label_add", []uint64{}).Optional().
  25. Annotations(entsql.WithComments(true)).
  26. Comment("命中后需要打的标签"),
  27. field.JSON("action_label_del", []uint64{}).Optional().
  28. Annotations(entsql.WithComments(true)).
  29. Comment("命中后需要移除的标签"),
  30. }
  31. }
  32. func (LabelTagging) Mixin() []ent.Mixin {
  33. return []ent.Mixin{
  34. mixins.IDMixin{},
  35. mixins.StatusMixin{},
  36. localmixin.SoftDeleteMixin{},
  37. }
  38. }
  39. func (LabelTagging) Indexes() []ent.Index {
  40. return []ent.Index{}
  41. }
  42. func (LabelTagging) Edges() []ent.Edge {
  43. return nil
  44. }
  45. func (LabelTagging) Annotations() []schema.Annotation {
  46. return []schema.Annotation{
  47. entsql.WithComments(true),
  48. entsql.Annotation{Table: "label_tagging"},
  49. }
  50. }