diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 886951a44..47bab94c1 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -1350,7 +1350,17 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { // 获取余额支付扣除金额 也许存在一笔不够扣,需要扣多笔的情况 List list = calculateSplitTheBillAmount(orderBasicInfo.getMemberId(), settleAmount); - List collect = list.stream().map(BalanceDeductionAmountVO::getPaymentId).collect(Collectors.toList()); + // List collect = list.stream().map(BalanceDeductionAmountVO::getPaymentId).collect(Collectors.toList()); + + List orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderBasicInfo.getOrderCode()); + AbstractProgramLogic orderLogic = new DelayMerchantProgramLogic(); + List paymentInfos = Lists.newArrayList(); + for (OrderPayRecord orderPayRecord : orderPayRecordList) { + String deductionRecord = orderPayRecord.getDeductionRecord(); + paymentInfos.addAll(orderLogic.parseDeductionRecord(deductionRecord)); + } + List collect = paymentInfos.stream().map(PaymentInfo::getPaymentId).collect(Collectors.toList()); + // 校验是否分账 OrderSettleResult result = verifyOrderConfirmAmount(collect, orderCode, settleAmount, wechatAppId); if (!AdapayStatusEnum.SUCCEEDED.getValue().equals(result.getStatus())) {