From 79aef24a785581d95343ccd99e9cb362b2bc9c97 Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期六, 06 七月 2024 21:31:59 +0800 Subject: [PATCH] 调整库存商品位置错误 --- models/attribute.go | 32 ++++++++++++++++++++++++++++++-- 1 files changed, 30 insertions(+), 2 deletions(-) diff --git a/models/attribute.go b/models/attribute.go index 19fc906..8f1a368 100644 --- a/models/attribute.go +++ b/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 } -- Gitblit v1.8.0