From 4f526b034a6e13a521ad71dcbdbea97043d6ea19 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 20 三月 2024 19:21:20 +0800 Subject: [PATCH] 发货信息字段完善 --- proto/crm_aps/server.go | 99 +++++++++++++++++++++++++++++++------------------ 1 files changed, 63 insertions(+), 36 deletions(-) diff --git a/proto/crm_aps/server.go b/proto/crm_aps/server.go index 1a45676..c88b98e 100644 --- a/proto/crm_aps/server.go +++ b/proto/crm_aps/server.go @@ -5,7 +5,6 @@ "aps_crm/model" "aps_crm/model/grpc_init" "aps_crm/pkg/ecode" - "aps_crm/proto/product_inventory" "aps_crm/service" "context" "errors" @@ -77,38 +76,38 @@ } //鎺ㄩ�佸埌wms - clientName := "" - if detail.ClientId > 0 { - first, err := model.NewClientSearch(nil).SetId(detail.ClientId).First() - if err == nil { - clientName = first.Name - } - } - wmsProducts := make([]*product_inventory.InventoryProduct, 0) - for _, product := range detail.Products { - var p product_inventory.InventoryProduct - p.Id = product.Number - p.Amount = product.Amount.String() - wmsProducts = append(wmsProducts, &p) - } - clientWms := product_inventory.NewProductInventoryServiceClient(grpc_init.ProductInventoryServiceConn) - _, err = clientWms.CreateOperation(ctx, &product_inventory.CreateOperationRequest{ - Number: detail.Number, - Addressee: detail.Addressee, - Address: detail.Address, - Phone: detail.Phone, - DeliverType: int32(detail.DeliverType), - Source: "CRM", - ClientId: int64(detail.ClientId), - ClientName: clientName, - ProductList: wmsProducts, - }) - if err != nil { - //鐘舵�佽繕鍘� - m["status"] = constvar.WaitConfirmed - _ = model.NewSalesDetailsSearch().SetNumber(detail.Number).UpdateByMap(m) - return nil, err - } + //clientName := "" + //if detail.ClientId > 0 { + // first, err := model.NewClientSearch(nil).SetId(detail.ClientId).First() + // if err == nil { + // clientName = first.Name + // } + //} + //wmsProducts := make([]*product_inventory.InventoryProduct, 0) + //for _, product := range detail.Products { + // var p product_inventory.InventoryProduct + // p.Id = product.Number + // p.Amount = product.Amount.String() + // wmsProducts = append(wmsProducts, &p) + //} + //clientWms := product_inventory.NewProductInventoryServiceClient(grpc_init.ProductInventoryServiceConn) + //_, err = clientWms.CreateOperation(ctx, &product_inventory.CreateOperationRequest{ + // Number: detail.Number, + // Addressee: detail.Addressee, + // Address: detail.Address, + // Phone: detail.Phone, + // DeliverType: int32(detail.DeliverType), + // Source: "CRM", + // ClientId: int64(detail.ClientId), + // ClientName: clientName, + // ProductList: wmsProducts, + //}) + //if err != nil { + // //鐘舵�佽繕鍘� + // m["status"] = constvar.WaitConfirmed + // _ = model.NewSalesDetailsSearch().SetNumber(detail.Number).UpdateByMap(m) + // return nil, err + //} //鎺ㄩ�佸埌aps products := make([]*SalesDetailsProduct, 0) @@ -186,7 +185,7 @@ } salesDetail.Status = status - err = model.NewSalesDetailsSearch().Update(salesDetail) + err = model.NewSalesDetailsSearch().SetId(salesDetail.Id).Update(salesDetail) if err != nil { return nil, errors.New("鏇存敼CRM閿�鍞槑缁嗗け璐�") } @@ -194,7 +193,7 @@ return &UpdateSalesDetailResponse{}, nil } -func (s *Server) RemoveSalesDetail(ctx context.Context, req *RemoveSalesDetailRequest) (*RemoveSalesDetailRequest, error) { +func (s *Server) RemoveSalesDetail(ctx context.Context, req *RemoveSalesDetailRequest) (*RemoveSalesDetailResponse, error) { if req.Number == "" { return nil, errors.New("閿�鍞槑缁嗙紪鍙蜂负绌�") } @@ -209,5 +208,33 @@ return nil, errors.New("閿�鍞槑缁嗗垹闄ゅけ璐�") } - return &RemoveSalesDetailRequest{}, nil + return &RemoveSalesDetailResponse{}, nil +} + +func (s *Server) GetCrmSalesDetailsProductInfo(ctx context.Context, req *GetCrmSalesDetailsProductInfoRequest) (*GetCrmSalesDetailsProductInfoResponse, error) { + if req.SalesDetailsNumber == "" { + return nil, errors.New("閿�鍞槑缁嗙紪鍙蜂负绌�") + } + first, err := model.NewSalesDetailsSearch().SetPreload(true).SetNumber(req.SalesDetailsNumber).First() + if err != nil { + return nil, err + } + list := make([]*CrmSalesDetailsProductInfo, 0) + for _, product := range first.Products { + var csp CrmSalesDetailsProductInfo + csp.ProductId = product.Number + csp.ProductName = product.Name + csp.Specs = product.Specs + csp.Unit = product.Unit + csp.Amount = product.Amount.IntPart() + csp.Cost = product.Cost + csp.Price = product.Price.IntPart() + csp.Total = product.Total.IntPart() + csp.Profit = product.Profit + csp.Margin = product.Margin + list = append(list, &csp) + } + resp := new(GetCrmSalesDetailsProductInfoResponse) + resp.List = list + return resp, nil } -- Gitblit v1.8.0