From 82c058c91daed212fd9b3807dca9ca80217ce738 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期三, 30 八月 2023 20:25:01 +0800
Subject: [PATCH] fix

---
 service/test/product.go |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/service/test/product.go b/service/test/product.go
index 0cf3317..f98b2ed 100644
--- a/service/test/product.go
+++ b/service/test/product.go
@@ -12,7 +12,7 @@
 
 // CreateProduct 鍒涘缓Product璁板綍
 // Author [piexlmax](https://github.com/piexlmax)
-func (pService *ProductService) CreateProduct(p *test.Product) (err error) {
+func (pService *ProductService) CreateProduct(p []*test.Product) (err error) {
 	err = global.GVA_DB.Create(p).Error
 	return err
 }
@@ -34,7 +34,7 @@
 // UpdateProduct 鏇存柊Product璁板綍
 // Author [piexlmax](https://github.com/piexlmax)
 func (pService *ProductService) UpdateProduct(p test.Product) (err error) {
-	err = global.GVA_DB.Save(&p).Error
+	err = global.GVA_DB.Updates(&p).Error
 	return err
 }
 
@@ -71,6 +71,34 @@
 		db = db.Where("supplier_id = ?", info.SupplierId)
 	}
 
+	if info.MaximumStock != 0 {
+		db = db.Where("maximum_stock = ?", info.MaximumStock)
+	}
+
+	if info.MinimumStock != 0 {
+		db = db.Where("minimum_stock = ?", info.MinimumStock)
+	}
+
+	if info.PurchasePrice != 0 {
+		db = db.Where("purchase_price = ?", info.PurchasePrice)
+	}
+
+	if info.Specifications != "" {
+		db = db.Where("specifications LIKE ?", "%"+info.Specifications+"%")
+	}
+
+	if info.ModelNumber != "" {
+		db = db.Where("model_number LIKE ?", "%"+info.ModelNumber+"%")
+	}
+
+	if info.ProductType != "" {
+		db = db.Where("product_type LIKE ?", "%"+info.ProductType+"%")
+	}
+
+	if info.SupplierNumber != "" {
+		db = db.Joins("Supplier").Where("Supplier.number LIKE ?", "%"+info.SupplierNumber+"%")
+	}
+
 	err = db.Count(&total).Error
 	if err != nil {
 		return
@@ -79,3 +107,16 @@
 	err = db.Limit(limit).Offset(offset).Preload("Supplier").Find(&ps).Error
 	return ps, total, err
 }
+
+// GetProducts 鏍规嵁ids鑾峰彇Product璁板綍
+func (pService *ProductService) GetProducts(ids []uint) (p []*test.Product, m map[uint]*test.Product, err error) {
+	err = global.GVA_DB.Where("id in ?", ids).Find(&p).Error
+	if err != nil {
+		return
+	}
+	m = make(map[uint]*test.Product, len(p))
+	for _, product := range p {
+		m[product.ID] = product
+	}
+	return
+}

--
Gitblit v1.8.0