From e547a46b90fe1ced019f4b74ae4e1c0fe8d3f640 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期六, 26 八月 2023 14:07:40 +0800
Subject: [PATCH] add

---
 api/v1/test/product.go |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/api/v1/test/product.go b/api/v1/test/product.go
index c7b7457..fcec2e1 100644
--- a/api/v1/test/product.go
+++ b/api/v1/test/product.go
@@ -2,12 +2,15 @@
 
 import (
 	"github.com/gin-gonic/gin"
+	"github.com/spf13/cast"
 	"go.uber.org/zap"
+	"google.golang.org/grpc"
 	"srm/global"
 	"srm/model/common/request"
 	"srm/model/common/response"
 	"srm/model/test"
 	testReq "srm/model/test/request"
+	"srm/proto/product"
 	"srm/service"
 )
 
@@ -164,3 +167,75 @@
 		}, "鑾峰彇鎴愬姛", c)
 	}
 }
+
+var (
+	productServiceConn *grpc.ClientConn
+)
+
+//func InitProductServiceConn() {
+//	var err error
+//	productServiceConn, err = grpc.Dial(conf.Conf.GrpcServiceAddr.Aps, grpc.WithTransportCredentials(insecure.NewCredentials()))
+//	if err != nil {
+//		logx.Errorf("grpc dial product service error: %v", err.Error())
+//		return
+//	}
+//}
+
+func CloseProductServiceConn() {
+	if productServiceConn != nil {
+		productServiceConn.Close()
+	}
+}
+
+// GetProductListFromGrpc 鍒嗛〉鑾峰彇Product鍒楄〃
+// @Tags Product
+// @Summary 鍒嗛〉鑾峰彇Product鍒楄〃
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data query testReq.ProductSearch true "鍒嗛〉鑾峰彇Product鍒楄〃"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}"
+// @Router /p/getProductListFromGrpc [get]
+func (pApi *ProductApi) GetProductListFromGrpc(c *gin.Context) {
+	var pageInfo testReq.ProductSearch
+	err := c.ShouldBindQuery(&pageInfo)
+	if err != nil {
+		response.FailWithMessage(err.Error(), c)
+		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
+		//productList[k].MinimumStock = &v.SalePrice
+		//productList[k].MaximumStock = &v.SalePrice
+		//productList[k].Remark = &v.SalePrice
+		productList[k].ProductType = v.MaterialMode
+	}
+
+	if err != nil || getProductListResponse.Code != 0 {
+		global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err))
+		response.FailWithMessage("鑾峰彇澶辫触", c)
+		return
+	}
+
+	response.OkWithDetailed(response.PageResult{
+		List:     productList,
+		Total:    0,
+		Page:     pageInfo.Page,
+		PageSize: pageInfo.PageSize,
+	}, "鑾峰彇鎴愬姛", c)
+
+}

--
Gitblit v1.8.0