Ver código fonte

fix(order): 修复订单预览中运费计算问题

- 添加条件判断避免运费为负数或零时的无效计算
- 确保只有当 sumCarriage 大于 0 时才进行运费累加
- 防止因运费计算异常导致的订单总价错误
shichen 3 meses atrás
pai
commit
a0299ae9d3

+ 3 - 1
app/common/repositories/store/order/StoreOrderRepository.php

@@ -2633,7 +2633,9 @@ class StoreOrderRepository extends BaseRepository
2633 2633
                 ];
2634 2634
                 $orderService = new OrderService();
2635 2635
                 $ailOrder = $orderService->previewOrder(['cargoParamList' => $cargoParamList, 'addressParam' => $addressParam]);
2636
-                $postage_price = bcadd($postage_price, $ailOrder['preview']['sumCarriage'] / 100, 2);
2636
+                if ($ailOrder['preview']['sumCarriage'] > 0) {
2637
+                    $postage_price = bcadd($postage_price, $ailOrder['preview']['sumCarriage'] / 100, 2);
2638
+                }
2637 2639
             }
2638 2640
 
2639 2641
             $take = $merchantTakeRepository->get($cartInfo['mer_id']);