From 84d2953e7b641600779e7aecc80bdd35e96d31d6 Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期二, 06 二月 2024 10:13:12 +0800 Subject: [PATCH] 拦截器 --- proto/purchase_wms/server.go | 30 +++++++++++++++++++++++++----- 1 files changed, 25 insertions(+), 5 deletions(-) diff --git a/proto/purchase_wms/server.go b/proto/purchase_wms/server.go index 235def6..24fa4d3 100644 --- a/proto/purchase_wms/server.go +++ b/proto/purchase_wms/server.go @@ -51,8 +51,8 @@ } func (s *Server) CreatePurchaseByWms(ctx context.Context, req *CreatePurchaseByWmsRequest) (*CreatePurchaseByWmsResponse, error) { - if req.SupplierId == 0 || req.ProductId == "" { - return nil, errors.New("渚涘簲鍟唅d鎴栦骇鍝乮d涓虹┖") + if req.ProductId == "" { + return nil, errors.New("浜у搧id涓虹┖") } var pt purchase.PurchaseType err := global.GVA_DB.Model(&purchase.PurchaseType{}).First(&pt).Error @@ -60,15 +60,35 @@ return nil, err } var product test.SupplierMaterial - err = global.GVA_DB.Model(&test.SupplierMaterial{}).Where("number = ? and supplier_id = ?", req.ProductId, req.SupplierId).First(&product).Error + err = global.GVA_DB.Model(&test.SupplierMaterial{}).Where("number = ?", req.ProductId).First(&product).Error if err != nil { - return nil, err + if err == gorm.ErrRecordNotFound { + var material test.Material + err = global.GVA_DB.Model(&test.Material{}).Where("id = ?", req.ProductId).First(&material).Error + if err != nil { + return nil, err + } + product.Name = material.Name + product.Number = material.ID + product.Unit = material.Unit + product.PurchasePrice = material.PurchasePrice.InexactFloat64() + product.Specifications = material.Specs + product.ModelNumber = material.Type + product.Name = material.Name + product.Name = material.Name + err = global.GVA_DB.Create(&product).Error + if err != nil { + return nil, err + } + } else { + return nil, err + } } //閲囪喘鍗� var purchaseRecord purchase.Purchase purchaseRecord.PurchaseTypeId = int(pt.ID) - purchaseRecord.SupplierId = int(req.SupplierId) + //purchaseRecord.SupplierId = int(req.SupplierId) if req.Source == "WMS" { purchaseRecord.OrderSource = "WMS鎺ㄩ��" purchaseRecord.Name = "WMS琛ヨ揣" -- Gitblit v1.8.0