From d936551a55d8b7e0d75c888dc1e6ac16eca6c1d3 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 22 Jun 2026 13:56:46 +0800
Subject: [PATCH] refactor(order): 优化订单运费计算逻辑

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 400aa3e..72462ca 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -116,6 +116,8 @@
         this.baseMapper.insert(orderInfo);
 
         BigDecimal total = BigDecimal.ZERO;
+        //运费
+        BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount();
         for (AddOrderItemDto item : addOrderDto.getItems()) {
             MallOrderItem orderItem = new MallOrderItem();
 
@@ -138,6 +140,8 @@
             if(1 != goodsResult){
                 throw new FebsException("Discontinued");
             }
+
+            delivaryAmount = delivaryAmount.add(mallGoods.getCarriageAmount());
 
             BigDecimal amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt()));
             orderItem.setAmount(amount);
@@ -163,9 +167,6 @@
             }
             mallOrderItemMapper.insert(orderItem);
         }
-
-        //运费
-        BigDecimal delivaryAmount = addOrderDto.getDeliveryAmount() == null ? BigDecimal.ZERO : addOrderDto.getDeliveryAmount();
         orderInfo.setCarriage(delivaryAmount);
 
         total = total.add(delivaryAmount);

--
Gitblit v1.9.1