update 财务中心 计算金额

This commit is contained in:
Guoqs
2025-07-14 15:33:46 +08:00
parent dee1acc729
commit 174b70cb46
3 changed files with 27 additions and 9 deletions

View File

@@ -204,10 +204,12 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
BigDecimal totalSettleAmount = BigDecimal.ZERO; // 当天结算金额汇总
BigDecimal totalMerchantSplitAmount = BigDecimal.ZERO; // 当天运营商分账金额汇总
BigDecimal totalOtherSplitAmount = BigDecimal.ZERO; // 当天其他人分账金额汇总
BigDecimal totalFeeAmount = BigDecimal.ZERO; // 当天手续费金额
Map<String, List<OrderSplitRecord>> otherSplitDetailMap = Maps.newHashMap(); // 当天其他人分账的记录
for (Map.Entry<String, List<OrderSplitRecord>> listEntry : adapayMemberIdRecordMap.entrySet()) {
List<OrderSplitRecord> recordList = listEntry.getValue();
for (OrderSplitRecord record : recordList) {
totalFeeAmount = totalFeeAmount.add(record.getFeeAmount());
// 由于存在订单被多家分账, recordList里的订单号是存在重复的, 判断orderCode是否存在orderCodeSet中, 存在则累计totalSettleAmount, 并从orderCodeSet中删除
if (orderCodeSet.contains(record.getOrderCode())) {
totalSettleAmount = totalSettleAmount.add(record.getSettleAmount());
@@ -253,6 +255,7 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
summaryData.setOtherSplitDetailList(otherSplitDetailList);
summaryData.setTotalSettleAmount(totalSettleAmount);
summaryData.setMerchantSplitAmount(totalMerchantSplitAmount);
summaryData.setMerchantFeeAmount(totalFeeAmount);
summaryData.setOtherSplitAmount(totalOtherSplitAmount);
resultList.add(summaryData);
}

View File

@@ -456,23 +456,32 @@ public class SettleOrderReportServiceImpl implements SettleOrderReportService {
.endTime(dto.getEndTime())
.build();
PageHelper.clearPage();
List<MerchantClearingBillVO> 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);
// List<MerchantClearingBillVO> merchantClearingBillList = clearingBillInfoService.getMerchantClearingBillList(clearingBillDTO);
// for (MerchantClearingBillVO merchantClearingBillVO : merchantClearingBillList) {
// tradeAmount = tradeAmount.add(new BigDecimal(merchantClearingBillVO.getWithdrawAbleAmount()));
// tradeFee = tradeFee.add(new BigDecimal(merchantClearingBillVO.getFeeAmount()));
// }
// 获取他人分账金额
List<OrderSplitDailySummaryData> orderSplitDailySummaryData = orderSplitRecordService.queryOrderSplitData(dto.getMerchantId(), null, dto.getStartTime(), dto.getEndTime());
if (!CollectionUtils.isEmpty(orderSplitDailySummaryData)) {
report.setOtherSplitAmount(orderSplitDailySummaryData.stream().map(OrderSplitDailySummaryData::getOtherSplitAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
// 2025年7月14日15点22分 从order_split_record表中计算订单分账金额
tradeAmount = orderSplitDailySummaryData.stream().map(OrderSplitDailySummaryData::getMerchantSplitAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add);
tradeFee = orderSplitDailySummaryData.stream().map(OrderSplitDailySummaryData::getMerchantFeeAmount)
.reduce(BigDecimal.ZERO, BigDecimal::add);
}
// 交易金额
report.setTradeAmount(tradeAmount.subtract(tradeFee));
// 交易手续费
report.setTradeFee(tradeFee);
return report;
}

View File

@@ -38,9 +38,15 @@ public class OrderSplitDailySummaryData {
/**
* 本运营商分账金额
* 此金额包含手续费金额
*/
private BigDecimal merchantSplitAmount;
/**
* 本运营商手续费金额
*/
private BigDecimal merchantFeeAmount;
/**
* 他人分账金额(被分走的金额)
*/