From 1572f45e72cc0fa15c029f9ee2a08474104435e6 Mon Sep 17 00:00:00 2001 From: selfcheer <selfcheer@gmail.com> Date: 星期五, 19 七月 2024 00:48:43 +0800 Subject: [PATCH] 采购单产品列表去掉过滤重复产品的逻辑 --- api/v1/test/product.go | 96 ++++++++++++++++++----------------------------- 1 files changed, 37 insertions(+), 59 deletions(-) diff --git a/api/v1/test/product.go b/api/v1/test/product.go index bcd2eea..64b99e5 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" @@ -12,7 +11,6 @@ "srm/model/test" testReq "srm/model/test/request" testResp "srm/model/test/response" - "srm/proto/product" "srm/service" ) @@ -161,48 +159,28 @@ // @accept application/json // @Produce application/json // @Param data query testReq.ProductSearch true "鍒嗛〉鑾峰彇Product鍒楄〃" +// @Param Authorization header string true "token" // @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(¶ms) 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) 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, - }) - } - response.OkWithDetailed(response.PageResult{ List: list, Total: total, - Page: pageInfo.Page, - PageSize: pageInfo.PageSize, + Page: params.Page, + PageSize: params.PageSize, }, "鑾峰彇鎴愬姛", c) } @@ -242,39 +220,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([]testResp.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 := int64(v.MinInventory) - productList[k].MinimumStock = min - max := int64(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, 0) + + for _, item := range list { + productList = append(productList, testResp.Material{ + Name: item.Name, + Number: item.ID, + Unit: item.Unit, + Specifications: item.Specs, + ModelNumber: item.Type, + 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