From c950586b718ae6fc198bedf424609a4ac94cb5d1 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 04 七月 2024 18:16:07 +0800
Subject: [PATCH] 增加根据位置或仓库查询产品及库存列表

---
 models/attribute.go |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/models/attribute.go b/models/attribute.go
index f3b0d13..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
 	}
 )
 
@@ -103,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
 }
 
@@ -115,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