From 293c8b04b1227ba302fb294fd25db54a4eafdd0d Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 29 三月 2024 10:04:33 +0800
Subject: [PATCH] 供应商产品搜索支持编号规格

---
 service/test/product.go       |    8 +++++++-
 api/v1/test/product.go        |    6 +++---
 model/test/request/product.go |    3 ++-
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/api/v1/test/product.go b/api/v1/test/product.go
index a962d3f..a76b4fe 100644
--- a/api/v1/test/product.go
+++ b/api/v1/test/product.go
@@ -162,13 +162,13 @@
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
 // @Router /p/getProductList [get]
 func (pApi *ProductApi) GetProductList(c *gin.Context) {
-	var pageInfo testReq.ProductSearch
-	err := c.ShouldBindQuery(&pageInfo)
+	var params testReq.ProductSearch
+	err := c.ShouldBindQuery(&params)
 	if err != nil {
 		response.FailWithMessage(err.Error(), c)
 		return
 	}
-	list, total, err := pService.GetProductInfoList(pageInfo)
+	list, total, err := pService.GetProductInfoList(params)
 	if err != nil {
 		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
 		response.FailWithMessage("鑾峰彇澶辫触", c)
diff --git a/model/test/request/product.go b/model/test/request/product.go
index 4949214..81b25e7 100644
--- a/model/test/request/product.go
+++ b/model/test/request/product.go
@@ -6,7 +6,8 @@
 
 type ProductSearch struct {
 	Product
-	request.PageInfo
+	request.PageInfo `json:"request.PageInfo"`
+	Keyword          string `json:"keyword,omitempty"`
 }
 
 type ProductCreate struct {
diff --git a/service/test/product.go b/service/test/product.go
index 57ad6d9..58fb488 100644
--- a/service/test/product.go
+++ b/service/test/product.go
@@ -73,7 +73,13 @@
 	var ps []test.SupplierMaterial
 	//鎼滅储妗嗗悎涓�娣诲姞鏌ヨ鏉′欢
 	if info.Keyword != "" {
-		db = db.Where("`srm_supplier_material`.name LIKE ?", "%"+info.Keyword+"%").Joins("Supplier").Or("Supplier.name LIKE ?", "%"+info.Keyword+"%")
+		kw := "%" + info.Keyword + "%"
+		if info.SupplierId == 0 {
+			db = db.Where("`srm_supplier_material`.name LIKE ?", kw).Joins("Supplier").Or("Supplier.name LIKE ?", kw)
+		} else {
+			db = db.Where("name LIKE ? OR number LIKE ? OR specifications LIKE ?", kw, kw, kw)
+		}
+
 	}
 	if info.Name != "" {
 		db = db.Where("name LIKE ?", "%"+info.Name+"%")

--
Gitblit v1.8.0