boweniac 3 mēneši atpakaļ
vecāks
revīzija
44695a76aa

+ 1 - 1
desc/wechat/label_tagging.api

@@ -15,7 +15,7 @@ type (
         Type  *int `json:"type,optional"`
 
         // 关键词 
-        Conditions  []string `json:"conditions,optional"`
+        Conditions  string `json:"conditions,optional"`
 
         // 命中后需要打的标签 
         ActionLabelAdd  []uint64 `json:"actionLabelAdd,optional"`

+ 8 - 8
ent/labeltagging.go

@@ -31,7 +31,7 @@ type LabelTagging struct {
 	// 标签类型:1好友,2群组,3公众号,4企业微信联系人
 	Type int `json:"type,omitempty"`
 	// 关键词
-	Conditions []string `json:"conditions,omitempty"`
+	Conditions string `json:"conditions,omitempty"`
 	// 命中后需要打的标签
 	ActionLabelAdd []uint64 `json:"action_label_add,omitempty"`
 	// 命中后需要移除的标签
@@ -44,10 +44,12 @@ func (*LabelTagging) scanValues(columns []string) ([]any, error) {
 	values := make([]any, len(columns))
 	for i := range columns {
 		switch columns[i] {
-		case labeltagging.FieldConditions, labeltagging.FieldActionLabelAdd, labeltagging.FieldActionLabelDel:
+		case labeltagging.FieldActionLabelAdd, labeltagging.FieldActionLabelDel:
 			values[i] = new([]byte)
 		case labeltagging.FieldID, labeltagging.FieldStatus, labeltagging.FieldOrganizationID, labeltagging.FieldType:
 			values[i] = new(sql.NullInt64)
+		case labeltagging.FieldConditions:
+			values[i] = new(sql.NullString)
 		case labeltagging.FieldCreatedAt, labeltagging.FieldUpdatedAt, labeltagging.FieldDeletedAt:
 			values[i] = new(sql.NullTime)
 		default:
@@ -108,12 +110,10 @@ func (lt *LabelTagging) assignValues(columns []string, values []any) error {
 				lt.Type = int(value.Int64)
 			}
 		case labeltagging.FieldConditions:
-			if value, ok := values[i].(*[]byte); !ok {
+			if value, ok := values[i].(*sql.NullString); !ok {
 				return fmt.Errorf("unexpected type %T for field conditions", values[i])
-			} else if value != nil && len(*value) > 0 {
-				if err := json.Unmarshal(*value, &lt.Conditions); err != nil {
-					return fmt.Errorf("unmarshal field conditions: %w", err)
-				}
+			} else if value.Valid {
+				lt.Conditions = value.String
 			}
 		case labeltagging.FieldActionLabelAdd:
 			if value, ok := values[i].(*[]byte); !ok {
@@ -186,7 +186,7 @@ func (lt *LabelTagging) String() string {
 	builder.WriteString(fmt.Sprintf("%v", lt.Type))
 	builder.WriteString(", ")
 	builder.WriteString("conditions=")
-	builder.WriteString(fmt.Sprintf("%v", lt.Conditions))
+	builder.WriteString(lt.Conditions)
 	builder.WriteString(", ")
 	builder.WriteString("action_label_add=")
 	builder.WriteString(fmt.Sprintf("%v", lt.ActionLabelAdd))

+ 7 - 0
ent/labeltagging/labeltagging.go

@@ -80,6 +80,8 @@ var (
 	DefaultOrganizationID uint64
 	// DefaultType holds the default value on creation for the "type" field.
 	DefaultType int
+	// DefaultConditions holds the default value on creation for the "conditions" field.
+	DefaultConditions string
 )
 
 // OrderOption defines the ordering options for the LabelTagging queries.
@@ -119,3 +121,8 @@ func ByOrganizationID(opts ...sql.OrderTermOption) OrderOption {
 func ByType(opts ...sql.OrderTermOption) OrderOption {
 	return sql.OrderByField(FieldType, opts...).ToFunc()
 }
+
+// ByConditions orders the results by the conditions field.
+func ByConditions(opts ...sql.OrderTermOption) OrderOption {
+	return sql.OrderByField(FieldConditions, opts...).ToFunc()
+}

+ 66 - 16
ent/labeltagging/where.go

@@ -84,6 +84,11 @@ func Type(v int) predicate.LabelTagging {
 	return predicate.LabelTagging(sql.FieldEQ(FieldType, v))
 }
 
+// Conditions applies equality check predicate on the "conditions" field. It's identical to ConditionsEQ.
+func Conditions(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldEQ(FieldConditions, v))
+}
+
 // CreatedAtEQ applies the EQ predicate on the "created_at" field.
 func CreatedAtEQ(v time.Time) predicate.LabelTagging {
 	return predicate.LabelTagging(sql.FieldEQ(FieldCreatedAt, v))
@@ -304,16 +309,6 @@ func OrganizationIDLTE(v uint64) predicate.LabelTagging {
 	return predicate.LabelTagging(sql.FieldLTE(FieldOrganizationID, v))
 }
 
-// OrganizationIDIsNil applies the IsNil predicate on the "organization_id" field.
-func OrganizationIDIsNil() predicate.LabelTagging {
-	return predicate.LabelTagging(sql.FieldIsNull(FieldOrganizationID))
-}
-
-// OrganizationIDNotNil applies the NotNil predicate on the "organization_id" field.
-func OrganizationIDNotNil() predicate.LabelTagging {
-	return predicate.LabelTagging(sql.FieldNotNull(FieldOrganizationID))
-}
-
 // TypeEQ applies the EQ predicate on the "type" field.
 func TypeEQ(v int) predicate.LabelTagging {
 	return predicate.LabelTagging(sql.FieldEQ(FieldType, v))
@@ -354,14 +349,69 @@ func TypeLTE(v int) predicate.LabelTagging {
 	return predicate.LabelTagging(sql.FieldLTE(FieldType, v))
 }
 
-// ConditionsIsNil applies the IsNil predicate on the "conditions" field.
-func ConditionsIsNil() predicate.LabelTagging {
-	return predicate.LabelTagging(sql.FieldIsNull(FieldConditions))
+// ConditionsEQ applies the EQ predicate on the "conditions" field.
+func ConditionsEQ(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldEQ(FieldConditions, v))
+}
+
+// ConditionsNEQ applies the NEQ predicate on the "conditions" field.
+func ConditionsNEQ(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldNEQ(FieldConditions, v))
+}
+
+// ConditionsIn applies the In predicate on the "conditions" field.
+func ConditionsIn(vs ...string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldIn(FieldConditions, vs...))
+}
+
+// ConditionsNotIn applies the NotIn predicate on the "conditions" field.
+func ConditionsNotIn(vs ...string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldNotIn(FieldConditions, vs...))
+}
+
+// ConditionsGT applies the GT predicate on the "conditions" field.
+func ConditionsGT(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldGT(FieldConditions, v))
+}
+
+// ConditionsGTE applies the GTE predicate on the "conditions" field.
+func ConditionsGTE(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldGTE(FieldConditions, v))
+}
+
+// ConditionsLT applies the LT predicate on the "conditions" field.
+func ConditionsLT(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldLT(FieldConditions, v))
+}
+
+// ConditionsLTE applies the LTE predicate on the "conditions" field.
+func ConditionsLTE(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldLTE(FieldConditions, v))
+}
+
+// ConditionsContains applies the Contains predicate on the "conditions" field.
+func ConditionsContains(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldContains(FieldConditions, v))
+}
+
+// ConditionsHasPrefix applies the HasPrefix predicate on the "conditions" field.
+func ConditionsHasPrefix(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldHasPrefix(FieldConditions, v))
+}
+
+// ConditionsHasSuffix applies the HasSuffix predicate on the "conditions" field.
+func ConditionsHasSuffix(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldHasSuffix(FieldConditions, v))
+}
+
+// ConditionsEqualFold applies the EqualFold predicate on the "conditions" field.
+func ConditionsEqualFold(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldEqualFold(FieldConditions, v))
 }
 
-// ConditionsNotNil applies the NotNil predicate on the "conditions" field.
-func ConditionsNotNil() predicate.LabelTagging {
-	return predicate.LabelTagging(sql.FieldNotNull(FieldConditions))
+// ConditionsContainsFold applies the ContainsFold predicate on the "conditions" field.
+func ConditionsContainsFold(v string) predicate.LabelTagging {
+	return predicate.LabelTagging(sql.FieldContainsFold(FieldConditions, v))
 }
 
 // ActionLabelAddIsNil applies the IsNil predicate on the "action_label_add" field.

+ 23 - 45
ent/labeltagging_create.go

@@ -107,11 +107,19 @@ func (ltc *LabelTaggingCreate) SetNillableType(i *int) *LabelTaggingCreate {
 }
 
 // SetConditions sets the "conditions" field.
-func (ltc *LabelTaggingCreate) SetConditions(s []string) *LabelTaggingCreate {
+func (ltc *LabelTaggingCreate) SetConditions(s string) *LabelTaggingCreate {
 	ltc.mutation.SetConditions(s)
 	return ltc
 }
 
+// SetNillableConditions sets the "conditions" field if the given value is not nil.
+func (ltc *LabelTaggingCreate) SetNillableConditions(s *string) *LabelTaggingCreate {
+	if s != nil {
+		ltc.SetConditions(*s)
+	}
+	return ltc
+}
+
 // SetActionLabelAdd sets the "action_label_add" field.
 func (ltc *LabelTaggingCreate) SetActionLabelAdd(u []uint64) *LabelTaggingCreate {
 	ltc.mutation.SetActionLabelAdd(u)
@@ -193,6 +201,10 @@ func (ltc *LabelTaggingCreate) defaults() error {
 		v := labeltagging.DefaultType
 		ltc.mutation.SetType(v)
 	}
+	if _, ok := ltc.mutation.Conditions(); !ok {
+		v := labeltagging.DefaultConditions
+		ltc.mutation.SetConditions(v)
+	}
 	return nil
 }
 
@@ -204,9 +216,15 @@ func (ltc *LabelTaggingCreate) check() error {
 	if _, ok := ltc.mutation.UpdatedAt(); !ok {
 		return &ValidationError{Name: "updated_at", err: errors.New(`ent: missing required field "LabelTagging.updated_at"`)}
 	}
+	if _, ok := ltc.mutation.OrganizationID(); !ok {
+		return &ValidationError{Name: "organization_id", err: errors.New(`ent: missing required field "LabelTagging.organization_id"`)}
+	}
 	if _, ok := ltc.mutation.GetType(); !ok {
 		return &ValidationError{Name: "type", err: errors.New(`ent: missing required field "LabelTagging.type"`)}
 	}
+	if _, ok := ltc.mutation.Conditions(); !ok {
+		return &ValidationError{Name: "conditions", err: errors.New(`ent: missing required field "LabelTagging.conditions"`)}
+	}
 	return nil
 }
 
@@ -265,7 +283,7 @@ func (ltc *LabelTaggingCreate) createSpec() (*LabelTagging, *sqlgraph.CreateSpec
 		_node.Type = value
 	}
 	if value, ok := ltc.mutation.Conditions(); ok {
-		_spec.SetField(labeltagging.FieldConditions, field.TypeJSON, value)
+		_spec.SetField(labeltagging.FieldConditions, field.TypeString, value)
 		_node.Conditions = value
 	}
 	if value, ok := ltc.mutation.ActionLabelAdd(); ok {
@@ -400,12 +418,6 @@ func (u *LabelTaggingUpsert) AddOrganizationID(v uint64) *LabelTaggingUpsert {
 	return u
 }
 
-// ClearOrganizationID clears the value of the "organization_id" field.
-func (u *LabelTaggingUpsert) ClearOrganizationID() *LabelTaggingUpsert {
-	u.SetNull(labeltagging.FieldOrganizationID)
-	return u
-}
-
 // SetType sets the "type" field.
 func (u *LabelTaggingUpsert) SetType(v int) *LabelTaggingUpsert {
 	u.Set(labeltagging.FieldType, v)
@@ -425,7 +437,7 @@ func (u *LabelTaggingUpsert) AddType(v int) *LabelTaggingUpsert {
 }
 
 // SetConditions sets the "conditions" field.
-func (u *LabelTaggingUpsert) SetConditions(v []string) *LabelTaggingUpsert {
+func (u *LabelTaggingUpsert) SetConditions(v string) *LabelTaggingUpsert {
 	u.Set(labeltagging.FieldConditions, v)
 	return u
 }
@@ -436,12 +448,6 @@ func (u *LabelTaggingUpsert) UpdateConditions() *LabelTaggingUpsert {
 	return u
 }
 
-// ClearConditions clears the value of the "conditions" field.
-func (u *LabelTaggingUpsert) ClearConditions() *LabelTaggingUpsert {
-	u.SetNull(labeltagging.FieldConditions)
-	return u
-}
-
 // SetActionLabelAdd sets the "action_label_add" field.
 func (u *LabelTaggingUpsert) SetActionLabelAdd(v []uint64) *LabelTaggingUpsert {
 	u.Set(labeltagging.FieldActionLabelAdd, v)
@@ -613,13 +619,6 @@ func (u *LabelTaggingUpsertOne) UpdateOrganizationID() *LabelTaggingUpsertOne {
 	})
 }
 
-// ClearOrganizationID clears the value of the "organization_id" field.
-func (u *LabelTaggingUpsertOne) ClearOrganizationID() *LabelTaggingUpsertOne {
-	return u.Update(func(s *LabelTaggingUpsert) {
-		s.ClearOrganizationID()
-	})
-}
-
 // SetType sets the "type" field.
 func (u *LabelTaggingUpsertOne) SetType(v int) *LabelTaggingUpsertOne {
 	return u.Update(func(s *LabelTaggingUpsert) {
@@ -642,7 +641,7 @@ func (u *LabelTaggingUpsertOne) UpdateType() *LabelTaggingUpsertOne {
 }
 
 // SetConditions sets the "conditions" field.
-func (u *LabelTaggingUpsertOne) SetConditions(v []string) *LabelTaggingUpsertOne {
+func (u *LabelTaggingUpsertOne) SetConditions(v string) *LabelTaggingUpsertOne {
 	return u.Update(func(s *LabelTaggingUpsert) {
 		s.SetConditions(v)
 	})
@@ -655,13 +654,6 @@ func (u *LabelTaggingUpsertOne) UpdateConditions() *LabelTaggingUpsertOne {
 	})
 }
 
-// ClearConditions clears the value of the "conditions" field.
-func (u *LabelTaggingUpsertOne) ClearConditions() *LabelTaggingUpsertOne {
-	return u.Update(func(s *LabelTaggingUpsert) {
-		s.ClearConditions()
-	})
-}
-
 // SetActionLabelAdd sets the "action_label_add" field.
 func (u *LabelTaggingUpsertOne) SetActionLabelAdd(v []uint64) *LabelTaggingUpsertOne {
 	return u.Update(func(s *LabelTaggingUpsert) {
@@ -1005,13 +997,6 @@ func (u *LabelTaggingUpsertBulk) UpdateOrganizationID() *LabelTaggingUpsertBulk
 	})
 }
 
-// ClearOrganizationID clears the value of the "organization_id" field.
-func (u *LabelTaggingUpsertBulk) ClearOrganizationID() *LabelTaggingUpsertBulk {
-	return u.Update(func(s *LabelTaggingUpsert) {
-		s.ClearOrganizationID()
-	})
-}
-
 // SetType sets the "type" field.
 func (u *LabelTaggingUpsertBulk) SetType(v int) *LabelTaggingUpsertBulk {
 	return u.Update(func(s *LabelTaggingUpsert) {
@@ -1034,7 +1019,7 @@ func (u *LabelTaggingUpsertBulk) UpdateType() *LabelTaggingUpsertBulk {
 }
 
 // SetConditions sets the "conditions" field.
-func (u *LabelTaggingUpsertBulk) SetConditions(v []string) *LabelTaggingUpsertBulk {
+func (u *LabelTaggingUpsertBulk) SetConditions(v string) *LabelTaggingUpsertBulk {
 	return u.Update(func(s *LabelTaggingUpsert) {
 		s.SetConditions(v)
 	})
@@ -1047,13 +1032,6 @@ func (u *LabelTaggingUpsertBulk) UpdateConditions() *LabelTaggingUpsertBulk {
 	})
 }
 
-// ClearConditions clears the value of the "conditions" field.
-func (u *LabelTaggingUpsertBulk) ClearConditions() *LabelTaggingUpsertBulk {
-	return u.Update(func(s *LabelTaggingUpsert) {
-		s.ClearConditions()
-	})
-}
-
 // SetActionLabelAdd sets the "action_label_add" field.
 func (u *LabelTaggingUpsertBulk) SetActionLabelAdd(v []uint64) *LabelTaggingUpsertBulk {
 	return u.Update(func(s *LabelTaggingUpsert) {

+ 14 - 56
ent/labeltagging_update.go

@@ -103,12 +103,6 @@ func (ltu *LabelTaggingUpdate) AddOrganizationID(u int64) *LabelTaggingUpdate {
 	return ltu
 }
 
-// ClearOrganizationID clears the value of the "organization_id" field.
-func (ltu *LabelTaggingUpdate) ClearOrganizationID() *LabelTaggingUpdate {
-	ltu.mutation.ClearOrganizationID()
-	return ltu
-}
-
 // SetType sets the "type" field.
 func (ltu *LabelTaggingUpdate) SetType(i int) *LabelTaggingUpdate {
 	ltu.mutation.ResetType()
@@ -131,20 +125,16 @@ func (ltu *LabelTaggingUpdate) AddType(i int) *LabelTaggingUpdate {
 }
 
 // SetConditions sets the "conditions" field.
-func (ltu *LabelTaggingUpdate) SetConditions(s []string) *LabelTaggingUpdate {
+func (ltu *LabelTaggingUpdate) SetConditions(s string) *LabelTaggingUpdate {
 	ltu.mutation.SetConditions(s)
 	return ltu
 }
 
-// AppendConditions appends s to the "conditions" field.
-func (ltu *LabelTaggingUpdate) AppendConditions(s []string) *LabelTaggingUpdate {
-	ltu.mutation.AppendConditions(s)
-	return ltu
-}
-
-// ClearConditions clears the value of the "conditions" field.
-func (ltu *LabelTaggingUpdate) ClearConditions() *LabelTaggingUpdate {
-	ltu.mutation.ClearConditions()
+// SetNillableConditions sets the "conditions" field if the given value is not nil.
+func (ltu *LabelTaggingUpdate) SetNillableConditions(s *string) *LabelTaggingUpdate {
+	if s != nil {
+		ltu.SetConditions(*s)
+	}
 	return ltu
 }
 
@@ -264,9 +254,6 @@ func (ltu *LabelTaggingUpdate) sqlSave(ctx context.Context) (n int, err error) {
 	if value, ok := ltu.mutation.AddedOrganizationID(); ok {
 		_spec.AddField(labeltagging.FieldOrganizationID, field.TypeUint64, value)
 	}
-	if ltu.mutation.OrganizationIDCleared() {
-		_spec.ClearField(labeltagging.FieldOrganizationID, field.TypeUint64)
-	}
 	if value, ok := ltu.mutation.GetType(); ok {
 		_spec.SetField(labeltagging.FieldType, field.TypeInt, value)
 	}
@@ -274,15 +261,7 @@ func (ltu *LabelTaggingUpdate) sqlSave(ctx context.Context) (n int, err error) {
 		_spec.AddField(labeltagging.FieldType, field.TypeInt, value)
 	}
 	if value, ok := ltu.mutation.Conditions(); ok {
-		_spec.SetField(labeltagging.FieldConditions, field.TypeJSON, value)
-	}
-	if value, ok := ltu.mutation.AppendedConditions(); ok {
-		_spec.AddModifier(func(u *sql.UpdateBuilder) {
-			sqljson.Append(u, labeltagging.FieldConditions, value)
-		})
-	}
-	if ltu.mutation.ConditionsCleared() {
-		_spec.ClearField(labeltagging.FieldConditions, field.TypeJSON)
+		_spec.SetField(labeltagging.FieldConditions, field.TypeString, value)
 	}
 	if value, ok := ltu.mutation.ActionLabelAdd(); ok {
 		_spec.SetField(labeltagging.FieldActionLabelAdd, field.TypeJSON, value)
@@ -400,12 +379,6 @@ func (ltuo *LabelTaggingUpdateOne) AddOrganizationID(u int64) *LabelTaggingUpdat
 	return ltuo
 }
 
-// ClearOrganizationID clears the value of the "organization_id" field.
-func (ltuo *LabelTaggingUpdateOne) ClearOrganizationID() *LabelTaggingUpdateOne {
-	ltuo.mutation.ClearOrganizationID()
-	return ltuo
-}
-
 // SetType sets the "type" field.
 func (ltuo *LabelTaggingUpdateOne) SetType(i int) *LabelTaggingUpdateOne {
 	ltuo.mutation.ResetType()
@@ -428,20 +401,16 @@ func (ltuo *LabelTaggingUpdateOne) AddType(i int) *LabelTaggingUpdateOne {
 }
 
 // SetConditions sets the "conditions" field.
-func (ltuo *LabelTaggingUpdateOne) SetConditions(s []string) *LabelTaggingUpdateOne {
+func (ltuo *LabelTaggingUpdateOne) SetConditions(s string) *LabelTaggingUpdateOne {
 	ltuo.mutation.SetConditions(s)
 	return ltuo
 }
 
-// AppendConditions appends s to the "conditions" field.
-func (ltuo *LabelTaggingUpdateOne) AppendConditions(s []string) *LabelTaggingUpdateOne {
-	ltuo.mutation.AppendConditions(s)
-	return ltuo
-}
-
-// ClearConditions clears the value of the "conditions" field.
-func (ltuo *LabelTaggingUpdateOne) ClearConditions() *LabelTaggingUpdateOne {
-	ltuo.mutation.ClearConditions()
+// SetNillableConditions sets the "conditions" field if the given value is not nil.
+func (ltuo *LabelTaggingUpdateOne) SetNillableConditions(s *string) *LabelTaggingUpdateOne {
+	if s != nil {
+		ltuo.SetConditions(*s)
+	}
 	return ltuo
 }
 
@@ -591,9 +560,6 @@ func (ltuo *LabelTaggingUpdateOne) sqlSave(ctx context.Context) (_node *LabelTag
 	if value, ok := ltuo.mutation.AddedOrganizationID(); ok {
 		_spec.AddField(labeltagging.FieldOrganizationID, field.TypeUint64, value)
 	}
-	if ltuo.mutation.OrganizationIDCleared() {
-		_spec.ClearField(labeltagging.FieldOrganizationID, field.TypeUint64)
-	}
 	if value, ok := ltuo.mutation.GetType(); ok {
 		_spec.SetField(labeltagging.FieldType, field.TypeInt, value)
 	}
@@ -601,15 +567,7 @@ func (ltuo *LabelTaggingUpdateOne) sqlSave(ctx context.Context) (_node *LabelTag
 		_spec.AddField(labeltagging.FieldType, field.TypeInt, value)
 	}
 	if value, ok := ltuo.mutation.Conditions(); ok {
-		_spec.SetField(labeltagging.FieldConditions, field.TypeJSON, value)
-	}
-	if value, ok := ltuo.mutation.AppendedConditions(); ok {
-		_spec.AddModifier(func(u *sql.UpdateBuilder) {
-			sqljson.Append(u, labeltagging.FieldConditions, value)
-		})
-	}
-	if ltuo.mutation.ConditionsCleared() {
-		_spec.ClearField(labeltagging.FieldConditions, field.TypeJSON)
+		_spec.SetField(labeltagging.FieldConditions, field.TypeString, value)
 	}
 	if value, ok := ltuo.mutation.ActionLabelAdd(); ok {
 		_spec.SetField(labeltagging.FieldActionLabelAdd, field.TypeJSON, value)

+ 2 - 2
ent/migrate/schema.go

@@ -394,9 +394,9 @@ var (
 		{Name: "updated_at", Type: field.TypeTime, Comment: "Update Time | 修改日期"},
 		{Name: "status", Type: field.TypeUint8, Nullable: true, Comment: "Status 1: normal 2: ban | 状态 1 正常 2 禁用", Default: 1},
 		{Name: "deleted_at", Type: field.TypeTime, Nullable: true, Comment: "Delete Time | 删除日期"},
-		{Name: "organization_id", Type: field.TypeUint64, Nullable: true, Comment: "机构 ID", Default: 1},
+		{Name: "organization_id", Type: field.TypeUint64, Comment: "机构 ID", Default: 1},
 		{Name: "type", Type: field.TypeInt, Comment: "标签类型:1好友,2群组,3公众号,4企业微信联系人", Default: 1},
-		{Name: "conditions", Type: field.TypeJSON, Nullable: true, Comment: "关键词"},
+		{Name: "conditions", Type: field.TypeString, Comment: "关键词", Default: ""},
 		{Name: "action_label_add", Type: field.TypeJSON, Nullable: true, Comment: "命中后需要打的标签"},
 		{Name: "action_label_del", Type: field.TypeJSON, Nullable: true, Comment: "命中后需要移除的标签"},
 	}

+ 5 - 61
ent/mutation.go

@@ -14008,8 +14008,7 @@ type LabelTaggingMutation struct {
 	addorganization_id     *int64
 	_type                  *int
 	add_type               *int
-	conditions             *[]string
-	appendconditions       []string
+	conditions             *string
 	action_label_add       *[]uint64
 	appendaction_label_add []uint64
 	action_label_del       *[]uint64
@@ -14365,24 +14364,10 @@ func (m *LabelTaggingMutation) AddedOrganizationID() (r int64, exists bool) {
 	return *v, true
 }
 
-// ClearOrganizationID clears the value of the "organization_id" field.
-func (m *LabelTaggingMutation) ClearOrganizationID() {
-	m.organization_id = nil
-	m.addorganization_id = nil
-	m.clearedFields[labeltagging.FieldOrganizationID] = struct{}{}
-}
-
-// OrganizationIDCleared returns if the "organization_id" field was cleared in this mutation.
-func (m *LabelTaggingMutation) OrganizationIDCleared() bool {
-	_, ok := m.clearedFields[labeltagging.FieldOrganizationID]
-	return ok
-}
-
 // ResetOrganizationID resets all changes to the "organization_id" field.
 func (m *LabelTaggingMutation) ResetOrganizationID() {
 	m.organization_id = nil
 	m.addorganization_id = nil
-	delete(m.clearedFields, labeltagging.FieldOrganizationID)
 }
 
 // SetType sets the "type" field.
@@ -14442,13 +14427,12 @@ func (m *LabelTaggingMutation) ResetType() {
 }
 
 // SetConditions sets the "conditions" field.
-func (m *LabelTaggingMutation) SetConditions(s []string) {
+func (m *LabelTaggingMutation) SetConditions(s string) {
 	m.conditions = &s
-	m.appendconditions = nil
 }
 
 // Conditions returns the value of the "conditions" field in the mutation.
-func (m *LabelTaggingMutation) Conditions() (r []string, exists bool) {
+func (m *LabelTaggingMutation) Conditions() (r string, exists bool) {
 	v := m.conditions
 	if v == nil {
 		return
@@ -14459,7 +14443,7 @@ func (m *LabelTaggingMutation) Conditions() (r []string, exists bool) {
 // OldConditions returns the old "conditions" field's value of the LabelTagging entity.
 // If the LabelTagging object wasn't provided to the builder, the object is fetched from the database.
 // An error is returned if the mutation operation is not UpdateOne, or the database query fails.
-func (m *LabelTaggingMutation) OldConditions(ctx context.Context) (v []string, err error) {
+func (m *LabelTaggingMutation) OldConditions(ctx context.Context) (v string, err error) {
 	if !m.op.Is(OpUpdateOne) {
 		return v, errors.New("OldConditions is only allowed on UpdateOne operations")
 	}
@@ -14473,37 +14457,9 @@ func (m *LabelTaggingMutation) OldConditions(ctx context.Context) (v []string, e
 	return oldValue.Conditions, nil
 }
 
-// AppendConditions adds s to the "conditions" field.
-func (m *LabelTaggingMutation) AppendConditions(s []string) {
-	m.appendconditions = append(m.appendconditions, s...)
-}
-
-// AppendedConditions returns the list of values that were appended to the "conditions" field in this mutation.
-func (m *LabelTaggingMutation) AppendedConditions() ([]string, bool) {
-	if len(m.appendconditions) == 0 {
-		return nil, false
-	}
-	return m.appendconditions, true
-}
-
-// ClearConditions clears the value of the "conditions" field.
-func (m *LabelTaggingMutation) ClearConditions() {
-	m.conditions = nil
-	m.appendconditions = nil
-	m.clearedFields[labeltagging.FieldConditions] = struct{}{}
-}
-
-// ConditionsCleared returns if the "conditions" field was cleared in this mutation.
-func (m *LabelTaggingMutation) ConditionsCleared() bool {
-	_, ok := m.clearedFields[labeltagging.FieldConditions]
-	return ok
-}
-
 // ResetConditions resets all changes to the "conditions" field.
 func (m *LabelTaggingMutation) ResetConditions() {
 	m.conditions = nil
-	m.appendconditions = nil
-	delete(m.clearedFields, labeltagging.FieldConditions)
 }
 
 // SetActionLabelAdd sets the "action_label_add" field.
@@ -14803,7 +14759,7 @@ func (m *LabelTaggingMutation) SetField(name string, value ent.Value) error {
 		m.SetType(v)
 		return nil
 	case labeltagging.FieldConditions:
-		v, ok := value.([]string)
+		v, ok := value.(string)
 		if !ok {
 			return fmt.Errorf("unexpected type %T for field %s", value, name)
 		}
@@ -14898,12 +14854,6 @@ func (m *LabelTaggingMutation) ClearedFields() []string {
 	if m.FieldCleared(labeltagging.FieldDeletedAt) {
 		fields = append(fields, labeltagging.FieldDeletedAt)
 	}
-	if m.FieldCleared(labeltagging.FieldOrganizationID) {
-		fields = append(fields, labeltagging.FieldOrganizationID)
-	}
-	if m.FieldCleared(labeltagging.FieldConditions) {
-		fields = append(fields, labeltagging.FieldConditions)
-	}
 	if m.FieldCleared(labeltagging.FieldActionLabelAdd) {
 		fields = append(fields, labeltagging.FieldActionLabelAdd)
 	}
@@ -14930,12 +14880,6 @@ func (m *LabelTaggingMutation) ClearField(name string) error {
 	case labeltagging.FieldDeletedAt:
 		m.ClearDeletedAt()
 		return nil
-	case labeltagging.FieldOrganizationID:
-		m.ClearOrganizationID()
-		return nil
-	case labeltagging.FieldConditions:
-		m.ClearConditions()
-		return nil
 	case labeltagging.FieldActionLabelAdd:
 		m.ClearActionLabelAdd()
 		return nil

+ 4 - 0
ent/runtime/runtime.go

@@ -608,6 +608,10 @@ func init() {
 	labeltaggingDescType := labeltaggingFields[1].Descriptor()
 	// labeltagging.DefaultType holds the default value on creation for the type field.
 	labeltagging.DefaultType = labeltaggingDescType.Default.(int)
+	// labeltaggingDescConditions is the schema descriptor for conditions field.
+	labeltaggingDescConditions := labeltaggingFields[2].Descriptor()
+	// labeltagging.DefaultConditions holds the default value on creation for the conditions field.
+	labeltagging.DefaultConditions = labeltaggingDescConditions.Default.(string)
 	messageFields := schema.Message{}.Fields()
 	_ = messageFields
 	// messageDescWxWxid is the schema descriptor for wx_wxid field.

+ 2 - 2
ent/schema/label_tagging.go

@@ -15,13 +15,13 @@ type LabelTagging struct {
 
 func (LabelTagging) Fields() []ent.Field {
 	return []ent.Field{
-		field.Uint64("organization_id").Optional().Default(1).
+		field.Uint64("organization_id").Default(1).
 			Comment("机构 ID").
 			Annotations(entsql.WithComments(true)),
 		field.Int("type").Default(1).
 			Annotations(entsql.WithComments(true)).
 			Comment("标签类型:1好友,2群组,3公众号,4企业微信联系人"),
-		field.JSON("conditions", []string{}).Optional().
+		field.String("conditions").Default("").
 			Annotations(entsql.WithComments(true)).
 			Comment("关键词"),
 		field.JSON("action_label_add", []uint64{}).Optional().

+ 6 - 6
ent/set_not_nil.go

@@ -3152,25 +3152,25 @@ func (lt *LabelTaggingCreate) SetNotNilType(value *int) *LabelTaggingCreate {
 }
 
 // set field if value's pointer is not nil.
-func (lt *LabelTaggingUpdate) SetNotNilConditions(value []string) *LabelTaggingUpdate {
+func (lt *LabelTaggingUpdate) SetNotNilConditions(value *string) *LabelTaggingUpdate {
 	if value != nil {
-		return lt.SetConditions(value)
+		return lt.SetConditions(*value)
 	}
 	return lt
 }
 
 // set field if value's pointer is not nil.
-func (lt *LabelTaggingUpdateOne) SetNotNilConditions(value []string) *LabelTaggingUpdateOne {
+func (lt *LabelTaggingUpdateOne) SetNotNilConditions(value *string) *LabelTaggingUpdateOne {
 	if value != nil {
-		return lt.SetConditions(value)
+		return lt.SetConditions(*value)
 	}
 	return lt
 }
 
 // set field if value's pointer is not nil.
-func (lt *LabelTaggingCreate) SetNotNilConditions(value []string) *LabelTaggingCreate {
+func (lt *LabelTaggingCreate) SetNotNilConditions(value *string) *LabelTaggingCreate {
 	if value != nil {
-		return lt.SetConditions(value)
+		return lt.SetConditions(*value)
 	}
 	return lt
 }

+ 1 - 1
internal/logic/label_tagging/update_label_tagging_logic.go

@@ -28,7 +28,7 @@ func NewUpdateLabelTaggingLogic(ctx context.Context, svcCtx *svc.ServiceContext)
 func (l *UpdateLabelTaggingLogic) UpdateLabelTagging(req *types.LabelTaggingInfo) (resp *types.BaseMsgResp, err error) {
 	organizationId := l.ctx.Value("organizationId").(uint64)
 	err = l.svcCtx.DB.LabelTagging.Update().Where(labeltagging.ID(*req.Id), labeltagging.OrganizationID(organizationId)).
-		SetNotNilConditions(req.Conditions).
+		SetConditions(req.Conditions).
 		SetNotNilActionLabelAdd(req.ActionLabelAdd).
 		SetNotNilActionLabelDel(req.ActionLabelDel).
 		Exec(l.ctx)

+ 1 - 1
internal/types/types.go

@@ -1115,7 +1115,7 @@ type LabelTaggingInfo struct {
 	// 标签类型:1好友,2群组,3公众号,4企业微信联系人
 	Type *int `json:"type,optional"`
 	// 关键词
-	Conditions []string `json:"conditions,optional"`
+	Conditions string `json:"conditions,optional"`
 	// 命中后需要打的标签
 	ActionLabelAdd []uint64 `json:"actionLabelAdd,optional"`
 	// 命中后需要移除的标签