mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-10 18:30:02 +08:00
update订单逻辑改造工厂模式
This commit is contained in:
@@ -34,7 +34,6 @@ import java.math.BigDecimal;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -321,17 +320,11 @@ public class DelayMerchantOrderLogic extends AbstractOrderLogic {
|
|||||||
BigDecimal orderAmount = orderBasicInfo.getOrderAmount();
|
BigDecimal orderAmount = orderBasicInfo.getOrderAmount();
|
||||||
// 查支付记录
|
// 查支付记录
|
||||||
List<OrderPayRecord> payRecordList = orderPayRecordService.getOrderPayRecordList(orderCode);
|
List<OrderPayRecord> payRecordList = orderPayRecordService.getOrderPayRecordList(orderCode);
|
||||||
|
// 根据payMode分组
|
||||||
Map<String, OrderPayRecord> payRecordMap = payRecordList.stream()
|
Map<String, List<OrderPayRecord>> payRecordMap = payRecordList.stream().collect(Collectors.groupingBy(OrderPayRecord::getPayMode));
|
||||||
.collect(Collectors.toMap(OrderPayRecord::getPayMode, Function.identity(), (k1, k2) -> k1));
|
|
||||||
// 取出本金支付金额
|
|
||||||
BigDecimal principalPay = null;
|
|
||||||
|
|
||||||
// 获取本金支付的记录
|
// 获取本金支付的记录
|
||||||
OrderPayRecord principalPayRecord = payRecordMap.get(Constants.ONE);
|
List<OrderPayRecord> orderPayRecordList = payRecordMap.get(OrderPayRecordEnum.PRINCIPAL_BALANCE_PAYMENT.getValue());
|
||||||
if (principalPayRecord != null) {
|
BigDecimal principalPay = orderPayRecordList.stream().map(OrderPayRecord::getPayAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
principalPay = principalPayRecord.getPayAmount();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 计算需要退回的金额
|
// 计算需要退回的金额
|
||||||
Map<String, BigDecimal> returnAmountMap = calculateReturnAmount(principalPay, null, orderAmount);
|
Map<String, BigDecimal> returnAmountMap = calculateReturnAmount(principalPay, null, orderAmount);
|
||||||
|
|||||||
Reference in New Issue
Block a user