From b5a99dc7418ac31167a913f712c902f27ce43e18 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Thu, 19 Jun 2025 15:03:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=A2=E5=8D=95=E5=AE=9E?= =?UTF-8?q?=E6=94=B6=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBasicInfoServiceImpl.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) 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 022825359..2d4e8c253 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 @@ -2076,9 +2076,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { .wechatAppId(appId) .build(); PaymentConfirmResponse paymentConfirmRequest = adapayService.createPaymentConfirmRequest(param); + // 保存订单分账记录 OrderInfoDetailVO orderInfoDetailVO = getOrderInfoDetailVO(orderCode); orderSplitRecordService.saveOrderSplitRecord(param, paymentConfirmRequest, splitDataList, orderInfoDetailVO); + + // 更新订单实收金额 + updateOrderReceivedAmount(orderCode, splitDataList); return paymentConfirmRequest; } @@ -2117,6 +2121,27 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { } } + /** + * 更新订单实收金额 + */ + private void updateOrderReceivedAmount(String orderCode, List splitDataList) { + BigDecimal actualReceivedAmount = BigDecimal.ZERO; + for (SplitData splitData : splitDataList) { + // 如果是手续费承担方, 计算实收金额 + if (StringUtils.equals(splitData.getFeeFlag(), Constants.Y)) { + actualReceivedAmount = splitData.getElecAmount().add(splitData.getServiceAmount()); + } + } + // 先查再更新 + OrderBasicInfo orderInfo = getOrderInfoByOrderCode(orderCode); + if (orderInfo != null && actualReceivedAmount.compareTo(BigDecimal.ZERO) > 0) { + orderInfo.setActualReceivedAmount(actualReceivedAmount); + orderInfo.setUpdateBy(Constants.SYSTEM); + orderInfo.setUpdateTime(DateUtils.getNowDate()); + this.updateOrderBasicInfo(orderInfo); + } + } + /** * 计算每个账户需要分账的金额 * @param stationSplitConfigList 参与分账的账户信息