From fddaa70cd6df8597b1be60a44284ca1439ba3a22 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期四, 09 十一月 2023 17:38:06 +0800 Subject: [PATCH] 销售明细状态更新修改3 --- api/v1/product.go | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 1 deletions(-) diff --git a/api/v1/product.go b/api/v1/product.go index f34eb07..32b0165 100644 --- a/api/v1/product.go +++ b/api/v1/product.go @@ -2,14 +2,17 @@ import ( "aps_crm/conf" + "aps_crm/model" "aps_crm/model/request" "aps_crm/model/response" "aps_crm/pkg/contextx" "aps_crm/pkg/ecode" "aps_crm/pkg/logx" "aps_crm/proto/product" + "aps_crm/utils" "fmt" "github.com/gin-gonic/gin" + "github.com/shopspring/decimal" "github.com/spf13/cast" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" @@ -28,6 +31,12 @@ if err != nil { logx.Errorf("grpc dial product service error: %v", err.Error()) return + } +} + +func CloseProductServiceConn() { + if productServiceConn != nil { + productServiceConn.Close() } } @@ -58,6 +67,17 @@ ProductNumber: params.ProductNumber, ProductName: params.ProductName, }) + rawProductList := getProductListResponse.List + productList := make([]model.Product, len(rawProductList)) + + for k, v := range rawProductList { + productList[k].Number = v.Number + productList[k].Name = v.Name + productList[k].Price = decimal.NewFromFloat(v.SalePrice).Round(2) + productList[k].Amount = decimal.NewFromFloat(1) + productList[k].Total = productList[k].Price.Mul(productList[k].Amount).Round(2) + } + if err != nil { logx.Errorf("GetProductList err: %v", err.Error()) ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒") @@ -69,7 +89,7 @@ return } ctx.OkWithDetailed(response.ListResponse{ - Data: getProductListResponse.List, + Data: productList, Count: getProductListResponse.Total, }) } @@ -104,3 +124,40 @@ } ctx.OkWithDetailed(getProductInfoResponse.Data) } + +// GetProductOrderInfo +// +// @Tags 浜у搧 +// @Summary 鑾峰彇浜у搧璁㈠崟淇℃伅 +// @Produce application/json +// @Param number path string true "鏄庣粏缂栫爜" +// @Success 200 {object} contextx.Response{data=[]product.WorkOrderInfo} "鎴愬姛" +// +// @Router /api/product/getProductOrderInfo/{number} [get] +func (ci *ProductApi) GetProductOrderInfo(c *gin.Context) { + ctx, ok := contextx.NewContext(c, nil) + if !ok { + return + } + number := c.Param("number") + first, err := model.NewSalesDetailsSearch().SetNumber(number).SetPreload(true).First() + if err != nil { + ctx.FailWithMsg(ecode.UnknownErr, "鏄庣粏璇︽儏鏌ユ壘澶辫触") + return + } + params := make([]*product.Info, 0) + for _, p := range first.Products { + var pa product.Info + pa.ProductId = p.Number + pa.Time = utils.TimeToString(first.UpdatedAt) + params = append(params, &pa) + } + client := product.NewProductServiceClient(productServiceConn) + info, err := client.GetProductOrder(ctx.GetCtx(), &product.GetProductOrderRequest{Params: params}) + if err != nil { + logx.Errorf("GetProductOrder err: %v", err.Error()) + ctx.FailWithMsg(ecode.UnknownErr, "鍐呴儴閿欒") + return + } + ctx.OkWithDetailed(info.List) +} -- Gitblit v1.8.0