From 7efcea2b54d7481c02e1a907715c4ba3d80cb11b Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 24 Apr 2026 17:53:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/service/order/service.go | 3 ++- internal/service/purchase_validation/service.go | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/service/order/service.go b/internal/service/order/service.go index 6624370..3d358a6 100644 --- a/internal/service/order/service.go +++ b/internal/service/order/service.go @@ -208,8 +208,9 @@ func (s *Service) CreateAdminOrder(ctx context.Context, req *dto.CreateAdminOrde } // 先按零售价构建明细价格快照,后续在代购/成本价场景覆盖 + // offline 场景先使用平台零售价,避免在平台代购场景下提前依赖代理分配记录 sellerShopIDValue := uint(0) - if resourceShopID != nil { + if req.PaymentMethod != model.PaymentMethodOffline && resourceShopID != nil { sellerShopIDValue = *resourceShopID } itemUnitPriceMap, retailTotalAmount, err := s.buildRetailPriceMap(ctx, validationResult.Packages, sellerShopIDValue) diff --git a/internal/service/purchase_validation/service.go b/internal/service/purchase_validation/service.go index e89fe3a..81b39bd 100644 --- a/internal/service/purchase_validation/service.go +++ b/internal/service/purchase_validation/service.go @@ -183,6 +183,9 @@ func (s *Service) GetPurchasePrice(ctx context.Context, pkg *model.Package, sell if sellerShopID > 0 { allocation, err := s.packageAllocationStore.GetByShopAndPackageForSystem(ctx, sellerShopID, pkg.ID) if err != nil { + if err == gorm.ErrRecordNotFound { + return 0, errors.New(errors.CodeInvalidParam, "套餐已下架") + } return 0, errors.Wrap(errors.CodeInternalError, err, "查询套餐分配记录失败") } return allocation.RetailPrice, nil @@ -198,6 +201,9 @@ func (s *Service) GetCostPrice(ctx context.Context, pkg *model.Package, sellerSh } allocation, err := s.packageAllocationStore.GetByShopAndPackageForSystem(ctx, sellerShopID, pkg.ID) if err != nil { + if err == gorm.ErrRecordNotFound { + return 0, errors.New(errors.CodeInvalidParam, "店铺没有该套餐的分配配置") + } return 0, errors.Wrap(errors.CodeInternalError, err, "查询套餐分配记录失败") } return allocation.CostPrice, nil