From 5b8bbac7d12da3e9a97babfda7929372684bb454 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Mon, 14 Jul 2025 16:09:59 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B4=A2=E5=8A=A1=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=20=E7=94=B5=E8=B4=B9=20=E6=9C=8D=E5=8A=A1=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderSplitRecordServiceImpl.java | 6 ++++ .../impl/SettleOrderReportServiceImpl.java | 35 +++++++++++-------- .../vo/web/OrderSplitDailySummaryData.java | 10 ++++++ 3 files changed, 37 insertions(+), 14 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java index 5842f13b9..0906881dc 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java @@ -204,6 +204,8 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService { summaryData.setOrderCount(orderCodeSet.size()); BigDecimal totalSettleAmount = BigDecimal.ZERO; // 当天结算金额汇总 BigDecimal totalMerchantSplitAmount = BigDecimal.ZERO; // 当天运营商分账金额汇总 + BigDecimal totalMerchantElecAmount = BigDecimal.ZERO; // 当天运营商分账金额汇总 + BigDecimal totalMerchantServiceAmount = BigDecimal.ZERO; // 当天运营商分账金额汇总 BigDecimal totalOtherSplitAmount = BigDecimal.ZERO; // 当天其他人分账金额汇总 BigDecimal totalFeeAmount = BigDecimal.ZERO; // 当天手续费金额 Map> otherSplitDetailMap = Maps.newHashMap(); // 当天其他人分账的记录 @@ -220,6 +222,8 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService { // if (adapayMemberAccount != null && adapayMemberAccount.getAdapayMemberId().equals(record.getAdapayMemberId())) { // record.getAdapayMemberId() 存在usedAdapayMemberIdList if (CollectionUtils.isNotEmpty(usedAdapayMemberIdList) && usedAdapayMemberIdList.contains(record.getAdapayMemberId())) { + totalMerchantElecAmount = totalMerchantElecAmount.add(record.getElectricitySplitAmount()); + totalMerchantServiceAmount = totalMerchantServiceAmount.add(record.getServiceSplitAmount()); totalMerchantSplitAmount = totalMerchantSplitAmount.add(record.getElectricitySplitAmount()).add(record.getServiceSplitAmount()); } else { totalOtherSplitAmount = totalOtherSplitAmount.add(record.getElectricitySplitAmount()).add(record.getServiceSplitAmount()); @@ -259,6 +263,8 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService { summaryData.setTotalSettleAmount(totalSettleAmount); summaryData.setMerchantSplitAmount(totalMerchantSplitAmount); summaryData.setMerchantFeeAmount(totalFeeAmount); + summaryData.setMerchantElecAmount(totalMerchantElecAmount); + summaryData.setMerchantServiceAmount(totalMerchantServiceAmount); summaryData.setOtherSplitAmount(totalOtherSplitAmount); resultList.add(summaryData); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/SettleOrderReportServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/SettleOrderReportServiceImpl.java index 3fa1868bb..827097bce 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/SettleOrderReportServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/SettleOrderReportServiceImpl.java @@ -434,20 +434,7 @@ public class SettleOrderReportServiceImpl implements SettleOrderReportService { totalAmount = totalAmount.add(amount); virtualAmount = virtualAmount.add(settleOrderReportVO.getVirtualAmount()); } - // 用电度数 - report.setUseElectricity(useElectricity); - // 充电次数 - report.setChargeNum(chargeNum); - // 充电时长 - report.setChargeTime(chargeTime); - // 电费金额 - report.setElectricityAmount(electricityAmount); - // 服务费金额 - report.setServiceAmount(serviceAmount); - // 收入金额 - report.setTotalAmount(totalAmount); - // 虚拟金额 - report.setVirtualAmount(virtualAmount); + // 从清分账单中计算交易金额,交易手续费 GetClearingBillDTO clearingBillDTO = GetClearingBillDTO.builder() @@ -476,8 +463,28 @@ public class SettleOrderReportServiceImpl implements SettleOrderReportService { .reduce(BigDecimal.ZERO, BigDecimal::add); tradeFee = orderSplitDailySummaryData.stream().map(OrderSplitDailySummaryData::getMerchantFeeAmount) .reduce(BigDecimal.ZERO, BigDecimal::add); + + electricityAmount = orderSplitDailySummaryData.stream().map(OrderSplitDailySummaryData::getMerchantElecAmount) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + serviceAmount = orderSplitDailySummaryData.stream().map(OrderSplitDailySummaryData::getMerchantServiceAmount) + .reduce(BigDecimal.ZERO, BigDecimal::add); } + // 用电度数 + report.setUseElectricity(useElectricity); + // 充电次数 + report.setChargeNum(chargeNum); + // 充电时长 + report.setChargeTime(chargeTime); + // 电费金额 + report.setElectricityAmount(electricityAmount); + // 服务费金额 + report.setServiceAmount(serviceAmount); + // 收入金额 + report.setTotalAmount(totalAmount); + // 虚拟金额 + report.setVirtualAmount(virtualAmount); // 交易金额 report.setTradeAmount(tradeAmount.subtract(tradeFee)); // 交易手续费 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderSplitDailySummaryData.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderSplitDailySummaryData.java index 31128ba30..522257a02 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderSplitDailySummaryData.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderSplitDailySummaryData.java @@ -47,6 +47,16 @@ public class OrderSplitDailySummaryData { */ private BigDecimal merchantFeeAmount; + /** + * 本运营商总电费金额 + */ + private BigDecimal merchantElecAmount; + + /** + * 本运营商总服务费金额 + */ + private BigDecimal merchantServiceAmount; + /** * 他人分账金额(被分走的金额) */