From d20acf38c36c11ee4428c3e74a17f5870dc61b51 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期四, 16 十一月 2023 09:51:00 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/SRM

---
 api/v1/test/product.go |  125 ++++++++++++++++++++++++-----------------
 1 files changed, 72 insertions(+), 53 deletions(-)

diff --git a/api/v1/test/product.go b/api/v1/test/product.go
index dfb82c9..aba8c67 100644
--- a/api/v1/test/product.go
+++ b/api/v1/test/product.go
@@ -2,7 +2,6 @@
 
 import (
 	"github.com/gin-gonic/gin"
-	"github.com/spf13/cast"
 	"go.uber.org/zap"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/credentials/insecure"
@@ -11,7 +10,7 @@
 	"srm/model/common/response"
 	"srm/model/test"
 	testReq "srm/model/test/request"
-	"srm/proto/product"
+	testResp "srm/model/test/response"
 	"srm/service"
 )
 
@@ -38,7 +37,7 @@
 	}
 	for _, t := range p.List {
 		var num int64
-		db := global.GVA_DB.Model(&test.Product{})
+		db := global.GVA_DB.Model(&test.SupplierMaterial{})
 		err := db.Where("number = ?", t.Number).Where("supplier_id = ?", t.SupplierId).Count(&num).Error
 		if err != nil {
 			response.FailWithMessage(err.Error(), c)
@@ -63,17 +62,17 @@
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body test.Product true "鍒犻櫎Product"
+// @Param data body request.GetById true "鍒犻櫎Product"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鍒犻櫎鎴愬姛"}"
 // @Router /p/deleteProduct [delete]
 func (pApi *ProductApi) DeleteProduct(c *gin.Context) {
-	var p test.Product
+	var p request.GetById
 	err := c.ShouldBindJSON(&p)
 	if err != nil {
 		response.FailWithMessage(err.Error(), c)
 		return
 	}
-	if err := pService.DeleteProduct(p); err != nil {
+	if err := pService.DeleteProduct(p.ID); err != nil {
 		global.GVA_LOG.Error("鍒犻櫎澶辫触!", zap.Error(err))
 		response.FailWithMessage("鍒犻櫎澶辫触", c)
 	} else {
@@ -111,11 +110,11 @@
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body test.Product true "鏇存柊Product"
+// @Param data body test.SupplierMaterial true "鏇存柊Product"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鏇存柊鎴愬姛"}"
 // @Router /p/updateProduct [put]
 func (pApi *ProductApi) UpdateProduct(c *gin.Context) {
-	var p test.Product
+	var p test.SupplierMaterial
 	err := c.ShouldBindJSON(&p)
 	if err != nil {
 		response.FailWithMessage(err.Error(), c)
@@ -135,11 +134,11 @@
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data query test.Product true "鐢╥d鏌ヨProduct"
+// @Param data query request.GetById true "鐢╥d鏌ヨProduct"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"鏌ヨ鎴愬姛"}"
 // @Router /p/findProduct [get]
 func (pApi *ProductApi) FindProduct(c *gin.Context) {
-	var p test.Product
+	var p request.GetById
 	err := c.ShouldBindQuery(&p)
 	if err != nil {
 		response.FailWithMessage(err.Error(), c)
@@ -169,21 +168,41 @@
 		response.FailWithMessage(err.Error(), c)
 		return
 	}
-	if list, total, err := pService.GetProductInfoList(pageInfo); err != nil {
+	list, total, err := pService.GetProductInfoList(pageInfo)
+	if err != nil {
 		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
 		response.FailWithMessage("鑾峰彇澶辫触", c)
-	} else {
-		//娣诲姞渚涘簲鍟嗗悕绉�
-		for i := 0; i < len(list); i++ {
-			list[i].SupplierName = list[i].Supplier.Name
-		}
-		response.OkWithDetailed(response.PageResult{
-			List:     list,
-			Total:    total,
-			Page:     pageInfo.Page,
-			PageSize: pageInfo.PageSize,
-		}, "鑾峰彇鎴愬姛", c)
+		return
 	}
+
+	productList := make([]testResp.Product, 0, len(list))
+
+	for _, item := range list {
+		productList = append(productList, testResp.Product{
+			Name:             item.Name,
+			Number:           item.Number,
+			SupplierId:       item.SupplierId,
+			Unit:             item.Unit,
+			PurchasePrice:    item.PurchasePrice,
+			DeliveryTime:     item.DeliveryTime,
+			ShippingDuration: item.ShippingDuration,
+			Specifications:   item.Specifications,
+			ModelNumber:      item.ModelNumber,
+			ProductType:      "",
+			MinimumStock:     item.MinimumStock,
+			MaximumStock:     item.MaximumStock,
+			Remark:           "",
+			SupplierName:     item.Supplier.Name,
+			CategoryName:     item.CategoryName,
+		})
+	}
+
+	response.OkWithDetailed(response.PageResult{
+		List:     list,
+		Total:    total,
+		Page:     pageInfo.Page,
+		PageSize: pageInfo.PageSize,
+	}, "鑾峰彇鎴愬姛", c)
 }
 
 var (
@@ -222,39 +241,39 @@
 		return
 	}
 
-	cli := product.NewProductServiceClient(productServiceConn)
-	getProductListResponse, err := cli.GetProductList(c, &product.GetProductListRequest{
-		Page:          cast.ToInt32(pageInfo.Page),
-		PageSize:      cast.ToInt32(pageInfo.PageSize),
-		ProductNumber: pageInfo.Number,
-		ProductName:   pageInfo.Name,
-	})
-	rawProductList := getProductListResponse.List
-	productList := make([]test.Product, len(rawProductList))
-
-	for k, v := range rawProductList {
-		productList[k].Number = v.Number
-		productList[k].Name = v.Name
-		productList[k].Unit = v.Unit
-		productList[k].PurchasePrice = v.SalePrice
-		min := int(v.MinInventory)
-		productList[k].MinimumStock = min
-		max := int(v.MaxInventory)
-		productList[k].MaximumStock = max
-		productList[k].Remark = v.Node
-		productList[k].ProductType = v.MaterialMode
-	}
-
-	if err != nil || getProductListResponse.Code != 0 {
+	list, total, err := pService.GetMaterials(pageInfo)
+	if err != nil {
 		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
 		response.FailWithMessage("鑾峰彇澶辫触", c)
-	} else {
-		response.OkWithDetailed(response.PageResult{
-			List:     productList,
-			Total:    int64(len(productList)),
-			Page:     pageInfo.Page,
-			PageSize: pageInfo.PageSize,
-		}, "鑾峰彇鎴愬姛", c)
+		return
 	}
 
+	productList := make([]testResp.Material, len(list))
+
+	for _, item := range list {
+		productList = append(productList, testResp.Material{
+			Name:           item.Name,
+			Number:         item.ID,
+			Unit:           item.Unit,
+			Specifications: item.Specs,
+			ModelNumber:    string(item.Model),
+			MinimumStock:   item.MinInventory.IntPart(),
+			MaximumStock:   item.MaxInventory.IntPart(),
+			Remark:         "",
+			CategoryName:   item.CategoryName,
+		})
+	}
+
+	if err != nil {
+		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
+		response.FailWithMessage("鑾峰彇澶辫触", c)
+	}
+
+	response.OkWithDetailed(response.PageResult{
+		List:     productList,
+		Total:    total,
+		Page:     pageInfo.Page,
+		PageSize: pageInfo.PageSize,
+	}, "鑾峰彇鎴愬姛", c)
+
 }

--
Gitblit v1.8.0