瀏覽代碼

退款流程优化

lishiqiang 2 周之前
父節點
當前提交
3867935423

+ 3 - 6
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/refund/impl/TradeRefundServiceImpl.java

@@ -701,16 +701,10 @@ public class TradeRefundServiceImpl implements TradeRefundService {
         //订单产品信息
 //        Map<Long, ProductSpuRespDTO> productMap = getOrderProductByDetailList(tradeDetailList);
         TradeRefundCalculateRespDTO respDTO = new TradeRefundCalculateRespDTO();
-        BigDecimal originRefundPrice = BigDecimal.ZERO;
-        BigDecimal fee = BigDecimal.ZERO;
-        BigDecimal refundAmount = BigDecimal.ZERO;
         List<TradeRefundCalculateRespDTO.RefundItem> refundItemList = new ArrayList<>();
         //退单
         for (TradeDetailBO tradeDetail : tradeDetailList) {
             TradeRefundCalculateRespDTO.RefundItem calculateRefundItem = calculateRefundDetailPrice(tradeOrderDO, tradeDetail, null, null);
-            refundAmount = refundAmount.add(calculateRefundItem.getRefundAmount());
-            fee = fee.add(calculateRefundItem.getFee());
-            originRefundPrice = originRefundPrice.add(calculateRefundItem.getOriginRefundAmount());
             refundItemList.add(calculateRefundItem);
         }
         //获取当前可退金额
@@ -1022,6 +1016,9 @@ public class TradeRefundServiceImpl implements TradeRefundService {
     }
 
     private BigDecimal getRefundFee(BigDecimal originRefundPrice, BigDecimal percent) {
+        if(originRefundPrice==null || originRefundPrice.compareTo(BigDecimal.ZERO)<=0){
+            return BigDecimal.ZERO;
+        }
         return originRefundPrice.multiply(percent).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP);
     }