zhangqian
2024-07-04 c950586b718ae6fc198bedf424609a4ac94cb5d1
models/attribute.go
@@ -25,6 +25,8 @@
      PageNum  int
      PageSize int
      Orm      *gorm.DB
      Keyword  string
      IDs      []uint
   }
)
@@ -47,6 +49,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 {
@@ -92,9 +105,16 @@
   slf.ID = id
   return slf
}
func (slf *AttributeSearch) SetIDs(ids []uint) *AttributeSearch {
   slf.IDs = ids
   return slf
}
func (slf *AttributeSearch) SetName(name string) *AttributeSearch {
   slf.Name = name
   return slf
}
func (slf *AttributeSearch) SetEntityType(entityType EntityType) *AttributeSearch {
   slf.EntityType = entityType
   return slf
}
@@ -104,14 +124,22 @@
   if slf.ID != 0 {
      db = db.Where("id = ?", slf.ID)
   }
   if len(slf.IDs) != 0 {
      db = db.Where("id in ?", slf.IDs)
   }
   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
}