From 8fcc8d68d295ed80a42c4862f0591cd187df38b7 Mon Sep 17 00:00:00 2001
From: lishihai <dslsh@dscom>
Date: 星期三, 19 六月 2024 14:26:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jialian' into jialian

---
 models/attribute.go |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/models/attribute.go b/models/attribute.go
index 19fc906..31e6d90 100644
--- a/models/attribute.go
+++ b/models/attribute.go
@@ -57,6 +57,17 @@
 	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 {
+			return err
+		}
+		slf.SelectValue = string(bts)
+	}
+	return nil
+}
+
 func (slf *Attribute) AfterFind(tx *gorm.DB) (err error) {
 	if slf.SelectValue != "" {
 		var list []string
@@ -97,6 +108,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,6 +123,9 @@
 	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)

--
Gitblit v1.8.0