mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-11 13:30:15 +08:00
update 财务中心 计算金额
This commit is contained in:
@@ -204,10 +204,12 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
|
|||||||
BigDecimal totalSettleAmount = BigDecimal.ZERO; // 当天结算金额汇总
|
BigDecimal totalSettleAmount = BigDecimal.ZERO; // 当天结算金额汇总
|
||||||
BigDecimal totalMerchantSplitAmount = BigDecimal.ZERO; // 当天运营商分账金额汇总
|
BigDecimal totalMerchantSplitAmount = BigDecimal.ZERO; // 当天运营商分账金额汇总
|
||||||
BigDecimal totalOtherSplitAmount = BigDecimal.ZERO; // 当天其他人分账金额汇总
|
BigDecimal totalOtherSplitAmount = BigDecimal.ZERO; // 当天其他人分账金额汇总
|
||||||
|
BigDecimal totalFeeAmount = BigDecimal.ZERO; // 当天手续费金额
|
||||||
Map<String, List<OrderSplitRecord>> otherSplitDetailMap = Maps.newHashMap(); // 当天其他人分账的记录
|
Map<String, List<OrderSplitRecord>> otherSplitDetailMap = Maps.newHashMap(); // 当天其他人分账的记录
|
||||||
for (Map.Entry<String, List<OrderSplitRecord>> listEntry : adapayMemberIdRecordMap.entrySet()) {
|
for (Map.Entry<String, List<OrderSplitRecord>> listEntry : adapayMemberIdRecordMap.entrySet()) {
|
||||||
List<OrderSplitRecord> recordList = listEntry.getValue();
|
List<OrderSplitRecord> recordList = listEntry.getValue();
|
||||||
for (OrderSplitRecord record : recordList) {
|
for (OrderSplitRecord record : recordList) {
|
||||||
|
totalFeeAmount = totalFeeAmount.add(record.getFeeAmount());
|
||||||
// 由于存在订单被多家分账, recordList里的订单号是存在重复的, 判断orderCode是否存在orderCodeSet中, 存在则累计totalSettleAmount, 并从orderCodeSet中删除
|
// 由于存在订单被多家分账, recordList里的订单号是存在重复的, 判断orderCode是否存在orderCodeSet中, 存在则累计totalSettleAmount, 并从orderCodeSet中删除
|
||||||
if (orderCodeSet.contains(record.getOrderCode())) {
|
if (orderCodeSet.contains(record.getOrderCode())) {
|
||||||
totalSettleAmount = totalSettleAmount.add(record.getSettleAmount());
|
totalSettleAmount = totalSettleAmount.add(record.getSettleAmount());
|
||||||
@@ -253,6 +255,7 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
|
|||||||
summaryData.setOtherSplitDetailList(otherSplitDetailList);
|
summaryData.setOtherSplitDetailList(otherSplitDetailList);
|
||||||
summaryData.setTotalSettleAmount(totalSettleAmount);
|
summaryData.setTotalSettleAmount(totalSettleAmount);
|
||||||
summaryData.setMerchantSplitAmount(totalMerchantSplitAmount);
|
summaryData.setMerchantSplitAmount(totalMerchantSplitAmount);
|
||||||
|
summaryData.setMerchantFeeAmount(totalFeeAmount);
|
||||||
summaryData.setOtherSplitAmount(totalOtherSplitAmount);
|
summaryData.setOtherSplitAmount(totalOtherSplitAmount);
|
||||||
resultList.add(summaryData);
|
resultList.add(summaryData);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -456,23 +456,32 @@ public class SettleOrderReportServiceImpl implements SettleOrderReportService {
|
|||||||
.endTime(dto.getEndTime())
|
.endTime(dto.getEndTime())
|
||||||
.build();
|
.build();
|
||||||
PageHelper.clearPage();
|
PageHelper.clearPage();
|
||||||
List<MerchantClearingBillVO> merchantClearingBillList = clearingBillInfoService.getMerchantClearingBillList(clearingBillDTO);
|
|
||||||
BigDecimal tradeAmount = BigDecimal.ZERO;
|
BigDecimal tradeAmount = BigDecimal.ZERO;
|
||||||
BigDecimal tradeFee = BigDecimal.ZERO;
|
BigDecimal tradeFee = BigDecimal.ZERO;
|
||||||
for (MerchantClearingBillVO merchantClearingBillVO : merchantClearingBillList) {
|
|
||||||
tradeAmount = tradeAmount.add(new BigDecimal(merchantClearingBillVO.getWithdrawAbleAmount()));
|
// List<MerchantClearingBillVO> merchantClearingBillList = clearingBillInfoService.getMerchantClearingBillList(clearingBillDTO);
|
||||||
tradeFee = tradeFee.add(new BigDecimal(merchantClearingBillVO.getFeeAmount()));
|
// 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<OrderSplitDailySummaryData> orderSplitDailySummaryData = orderSplitRecordService.queryOrderSplitData(dto.getMerchantId(), null, dto.getStartTime(), dto.getEndTime());
|
List<OrderSplitDailySummaryData> orderSplitDailySummaryData = orderSplitRecordService.queryOrderSplitData(dto.getMerchantId(), null, dto.getStartTime(), dto.getEndTime());
|
||||||
if (!CollectionUtils.isEmpty(orderSplitDailySummaryData)) {
|
if (!CollectionUtils.isEmpty(orderSplitDailySummaryData)) {
|
||||||
report.setOtherSplitAmount(orderSplitDailySummaryData.stream().map(OrderSplitDailySummaryData::getOtherSplitAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
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;
|
return report;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,9 +38,15 @@ public class OrderSplitDailySummaryData {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 本运营商分账金额
|
* 本运营商分账金额
|
||||||
|
* 此金额包含手续费金额
|
||||||
*/
|
*/
|
||||||
private BigDecimal merchantSplitAmount;
|
private BigDecimal merchantSplitAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 本运营商手续费金额
|
||||||
|
*/
|
||||||
|
private BigDecimal merchantFeeAmount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 他人分账金额(被分走的金额)
|
* 他人分账金额(被分走的金额)
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user