From de4bcd1dead50b05f716bc5718be5540bdb96783 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期日, 28 四月 2024 17:23:29 +0800
Subject: [PATCH] fix
---
api/v1/test/product.go | 119 ++++++++++++++++++++++++++++++++---------------------------
1 files changed, 65 insertions(+), 54 deletions(-)
diff --git a/api/v1/test/product.go b/api/v1/test/product.go
index ca47df4..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"
@@ -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"
)
@@ -36,6 +35,19 @@
response.FailWithMessage(err.Error(), c)
return
}
+ for _, t := range p.List {
+ var num int64
+ 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)
+ return
+ }
+ if num > 0 {
+ response.FailWithMessage("褰撳墠渚涘簲鍟嗗凡缁忔彁渚涙浜у搧", c)
+ return
+ }
+ }
if err := pService.CreateProduct(p.List); err != nil {
global.GVA_LOG.Error("鍒涘缓澶辫触!", zap.Error(err))
response.FailWithMessage("鍒涘缓澶辫触", c)
@@ -50,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 {
@@ -98,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)
@@ -122,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)
@@ -147,30 +159,29 @@
// @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
}
- if list, total, err := pService.GetProductInfoList(pageInfo); err != nil {
+ list, total, err := pService.GetProductInfoList(params)
+ 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
}
+
+ response.OkWithDetailed(response.PageResult{
+ List: list,
+ Total: total,
+ Page: params.Page,
+ PageSize: params.PageSize,
+ }, "鑾峰彇鎴愬姛", c)
}
var (
@@ -209,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([]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, 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