lishihai
2024-06-20 504f3e9bc274bcd6c7221e738802e0e5d4aef36f
models/attribute.go
@@ -25,6 +25,7 @@
      PageNum  int
      PageSize int
      Orm      *gorm.DB
      Keyword  string
   }
)
@@ -47,6 +48,17 @@
}
func (slf *Attribute) BeforeCreate(tx *gorm.DB) (err error) {
   if len(slf.SelectValues) != 0 {
      bts, err := json.Marshal(slf.SelectValues)
      if err != nil {
         return err
      }
      slf.SelectValue = string(bts)
   }
   return nil
}
func (slf *Attribute) BeforeUpdate(tx *gorm.DB) (err error) {
   if len(slf.SelectValues) != 0 {
      bts, err := json.Marshal(slf.SelectValues)
      if err != nil {
@@ -97,6 +109,10 @@
   slf.Name = name
   return slf
}
func (slf *AttributeSearch) SetEntityType(entityType EntityType) *AttributeSearch {
   slf.EntityType = entityType
   return slf
}
func (slf *AttributeSearch) build() *gorm.DB {
   var db = slf.Orm.Table(slf.TableName())
@@ -108,10 +124,16 @@
   if slf.Order != "" {
      db = db.Order(slf.Order)
   }
   if slf.EntityType != 0 {
      db = db.Where("entity_type = ?", slf.EntityType)
   }
   if slf.Name != "" {
      db = db.Where("name = ?", slf.Name)
   }
   if slf.Keyword != "" {
      db = db.Where("id like ? or data_type like ? ", fmt.Sprintf("%%%v%%", slf.Keyword), fmt.Sprintf("%%%v%%", slf.Keyword))
   }
   return db
}