From 6aceac83950d3f17a1137d984df4b1086bfbd016 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 15 十一月 2023 16:25:29 +0800 Subject: [PATCH] 重构产品 --- api/v1/test/product.go | 66 +++++++++++++++++++++----------- 1 files changed, 43 insertions(+), 23 deletions(-) diff --git a/api/v1/test/product.go b/api/v1/test/product.go index dfb82c9..bcd2eea 100644 --- a/api/v1/test/product.go +++ b/api/v1/test/product.go @@ -11,6 +11,7 @@ "srm/model/common/response" "srm/model/test" testReq "srm/model/test/request" + testResp "srm/model/test/response" "srm/proto/product" "srm/service" ) @@ -38,7 +39,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 +64,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 +112,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 +136,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 +170,40 @@ 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, + }) + } + + response.OkWithDetailed(response.PageResult{ + List: list, + Total: total, + Page: pageInfo.Page, + PageSize: pageInfo.PageSize, + }, "鑾峰彇鎴愬姛", c) } var ( @@ -230,16 +250,16 @@ ProductName: pageInfo.Name, }) rawProductList := getProductListResponse.List - productList := make([]test.Product, len(rawProductList)) + 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 := int(v.MinInventory) + min := int64(v.MinInventory) productList[k].MinimumStock = min - max := int(v.MaxInventory) + max := int64(v.MaxInventory) productList[k].MaximumStock = max productList[k].Remark = v.Node productList[k].ProductType = v.MaterialMode -- Gitblit v1.8.0