From 0633bd2a213692a09f410fd7ad6b668bf67ab93f Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Thu, 21 Sep 2023 17:09:25 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=95=B0=E6=8D=AE=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E4=BB=8E=E6=B8=85=E5=88=86=E8=B4=A6=E5=8D=95=E5=8F=96=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SettleOrderReportServiceImpl.java | 53 ++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) 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 02f7d5e5c..55c5635af 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 @@ -345,7 +345,6 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService { dto.setEndTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date())); } MerchantOrderReportVO vo = new MerchantOrderReportVO(); - MerchantOrderReportVO.MerchantOrderReport report = new MerchantOrderReportVO.MerchantOrderReport(); PageUtils.startPage(pageNum, pageSize); GetClearingBillDTO clearingBillDTO = GetClearingBillDTO.builder() .merchantId(dto.getMerchantId()) @@ -358,26 +357,57 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService { vo.setPageResponse(pageResponse); vo.setMerchantId(dto.getMerchantId()); + // 进行数据汇总 + MerchantOrderReportVO.MerchantOrderReport report = new MerchantOrderReportVO.MerchantOrderReport(); List list = settleOrderReportMapper.getMerchantOrderReport(dto); + BigDecimal useElectricity = BigDecimal.ZERO; + BigDecimal chargeNum = BigDecimal.ZERO; + BigDecimal chargeTime = BigDecimal.ZERO; + BigDecimal electricityAmount = BigDecimal.ZERO; + BigDecimal serviceAmount = BigDecimal.ZERO; + BigDecimal totalAmount = BigDecimal.ZERO; + BigDecimal virtualAmount = BigDecimal.ZERO; + for (SettleOrderReportVO settleOrderReportVO : list) { + useElectricity = useElectricity.add(settleOrderReportVO.getUseElectricity()); + chargeNum = chargeNum.add(new BigDecimal(settleOrderReportVO.getChargeNum())); + chargeTime = chargeTime.add(new BigDecimal(settleOrderReportVO.getChargeTime())); + electricityAmount = electricityAmount.add(settleOrderReportVO.getElectricityAmount()); + serviceAmount = serviceAmount.add(settleOrderReportVO.getServiceAmount()); + totalAmount = totalAmount.add(settleOrderReportVO.getTotalAmount()); + virtualAmount = virtualAmount.add(settleOrderReportVO.getVirtualAmount()); + } // 用电度数 - report.setUseElectricity(list.stream().map(SettleOrderReportVO::getUseElectricity).reduce(BigDecimal.ZERO, BigDecimal::add)); + report.setUseElectricity(useElectricity); // 充电次数 - report.setChargeNum(list.stream().map(SettleOrderReport -> new BigDecimal(SettleOrderReport.getChargeNum())).reduce(BigDecimal.ZERO, BigDecimal::add)); + report.setChargeNum(chargeNum); // 充电时长 - report.setChargeTime(list.stream().map(SettleOrderReport -> new BigDecimal(SettleOrderReport.getChargeTime())).reduce(BigDecimal.ZERO, BigDecimal::add)); + report.setChargeTime(chargeTime); // 电费金额 - report.setElectricityAmount(list.stream().map(SettleOrderReportVO::getElectricityAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); + report.setElectricityAmount(electricityAmount); // 服务费金额 - report.setServiceAmount(list.stream().map(SettleOrderReportVO::getServiceAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); + report.setServiceAmount(serviceAmount); // 收入金额 - report.setTotalAmount(list.stream().map(SettleOrderReportVO::getTotalAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); + report.setTotalAmount(totalAmount); // 虚拟金额 - report.setVirtualAmount(list.stream().map(SettleOrderReportVO::getVirtualAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); + report.setVirtualAmount(virtualAmount); // 交易金额 - report.setTradeAmount(list.stream().map(SettleOrderReportVO::getTradeAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); + // report.setTradeAmount(list.stream().map(SettleOrderReportVO::getTradeAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); // 交易手续费 - report.setTradeFee(list.stream().map(SettleOrderReportVO::getTradeFee).reduce(BigDecimal.ZERO, BigDecimal::add)); + // report.setTradeFee(list.stream().map(SettleOrderReportVO::getTradeFee).reduce(BigDecimal.ZERO, BigDecimal::add)); + + // 从清分账单中计算交易金额,交易手续费 + List merchantClearingBillList = clearingBillInfoService.getMerchantClearingBillList(clearingBillDTO); + BigDecimal tradeAmount = BigDecimal.ZERO; + BigDecimal tradeFee = BigDecimal.ZERO; + for (MerchantClearingBillVO merchantClearingBillVO : merchantClearingBillList) { + tradeAmount = tradeAmount.add(new BigDecimal(merchantClearingBillVO.getWithdrawAbleAmount())); + tradeFee = tradeFee.add(new BigDecimal(merchantClearingBillVO.getFeeAmount())); + } + // 交易金额 + report.setTradeAmount(tradeAmount); + // 交易手续费 + report.setTradeFee(tradeFee); vo.setMerchantOrderReport(report); return vo; @@ -390,12 +420,11 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService { */ @Override public PageResponse getMerchantClearingBillList(GetClearingBillDTO dto) { - List resultList; int pageNum = dto.getPageNum() == null ? 1 : dto.getPageNum(); int pageSize = dto.getPageSize() == null ? 10 : dto.getPageSize(); // 分页 PageUtils.startPage(pageNum, pageSize); - resultList = clearingBillInfoService.getMerchantClearingBillList(dto); + List resultList = clearingBillInfoService.getMerchantClearingBillList(dto); if (CollectionUtils.isEmpty(resultList)) { return null; }