From 8336fdfa26f0612395fd07c6a129b942d3b7b089 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 1 Sep 2023 14:14:47 +0800 Subject: [PATCH] =?UTF-8?q?update=E8=AE=A2=E5=8D=95=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E6=94=B9=E9=80=A0=E5=B7=A5=E5=8E=82=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../orderlogic/DelayMerchantOrderLogic.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java index 7609afcf6..b7c91065b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/orderlogic/DelayMerchantOrderLogic.java @@ -34,7 +34,6 @@ import java.math.BigDecimal; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -321,17 +320,11 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic { BigDecimal orderAmount = orderBasicInfo.getOrderAmount(); // 查支付记录 List payRecordList = orderPayRecordService.getOrderPayRecordList(orderCode); - - Map payRecordMap = payRecordList.stream() - .collect(Collectors.toMap(OrderPayRecord::getPayMode, Function.identity(), (k1, k2) -> k1)); - // 取出本金支付金额 - BigDecimal principalPay = null; - + // 根据payMode分组 + Map> payRecordMap = payRecordList.stream().collect(Collectors.groupingBy(OrderPayRecord::getPayMode)); // 获取本金支付的记录 - OrderPayRecord principalPayRecord = payRecordMap.get(Constants.ONE); - if (principalPayRecord != null) { - principalPay = principalPayRecord.getPayAmount(); - } + List orderPayRecordList = payRecordMap.get(OrderPayRecordEnum.PRINCIPAL_BALANCE_PAYMENT.getValue()); + BigDecimal principalPay = orderPayRecordList.stream().map(OrderPayRecord::getPayAmount).reduce(BigDecimal.ZERO, BigDecimal::add); // 计算需要退回的金额 Map returnAmountMap = calculateReturnAmount(principalPay, null, orderAmount);