mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-18 00:38:33 +08:00
update
This commit is contained in:
@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
@@ -549,6 +550,10 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
|
|||||||
BigDecimal totalOrderAmount = BigDecimal.ZERO;
|
BigDecimal totalOrderAmount = BigDecimal.ZERO;
|
||||||
BigDecimal totalVirtualAmount = BigDecimal.ZERO;
|
BigDecimal totalVirtualAmount = BigDecimal.ZERO;
|
||||||
BigDecimal totalSettleAmount = BigDecimal.ZERO;
|
BigDecimal totalSettleAmount = BigDecimal.ZERO;
|
||||||
|
// 总手续费
|
||||||
|
BigDecimal totalFeeAmount = BigDecimal.ZERO;
|
||||||
|
BigDecimal totalTradeAmount = BigDecimal.ZERO;
|
||||||
|
|
||||||
List<String> orderCodeList = Lists.newArrayList();
|
List<String> orderCodeList = Lists.newArrayList();
|
||||||
for (OrderListVO vo : orderListVOS) {
|
for (OrderListVO vo : orderListVOS) {
|
||||||
// 统计结算金额大于0的
|
// 统计结算金额大于0的
|
||||||
@@ -598,6 +603,11 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
|
|||||||
|
|
||||||
// 结算金额
|
// 结算金额
|
||||||
totalSettleAmount = totalSettleAmount.add(settleAmount);
|
totalSettleAmount = totalSettleAmount.add(settleAmount);
|
||||||
|
|
||||||
|
// 计算手续费 = 结算金额 * 0.55%
|
||||||
|
SplitSettleAmountVO splitSettleAmountVO = splitSettleAmount(settleAmount);
|
||||||
|
totalFeeAmount = totalFeeAmount.add(splitSettleAmountVO.getFeeAmount());
|
||||||
|
totalTradeAmount = totalTradeAmount.add(splitSettleAmountVO.getTradeAmount());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算报表
|
// 计算报表
|
||||||
@@ -616,9 +626,9 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
|
|||||||
settleOrderReport.setTradeDate(tradeDate);
|
settleOrderReport.setTradeDate(tradeDate);
|
||||||
settleOrderReport.setOrderCodes(Joiner.on(",").join(orderCodeList));
|
settleOrderReport.setOrderCodes(Joiner.on(",").join(orderCodeList));
|
||||||
// 计算手续费 = 结算金额 * 0.55%
|
// 计算手续费 = 结算金额 * 0.55%
|
||||||
SplitSettleAmountVO splitSettleAmountVO = splitSettleAmount(totalSettleAmount);
|
// SplitSettleAmountVO splitSettleAmountVO = splitSettleAmount(totalSettleAmount);
|
||||||
settleOrderReport.setTradeFee(splitSettleAmountVO.getFeeAmount());
|
settleOrderReport.setTradeFee(totalFeeAmount);
|
||||||
settleOrderReport.setTradeAmount(splitSettleAmountVO.getTradeAmount());
|
settleOrderReport.setTradeAmount(totalTradeAmount);
|
||||||
// 根据站点id和交易日期查询
|
// 根据站点id和交易日期查询
|
||||||
SettleOrderReport selectResult = this.selectByStationIdAndDate(stationId, tradeDate);
|
SettleOrderReport selectResult = this.selectByStationIdAndDate(stationId, tradeDate);
|
||||||
if (selectResult != null) {
|
if (selectResult != null) {
|
||||||
@@ -641,7 +651,7 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
|
|||||||
return resultVO;
|
return resultVO;
|
||||||
}
|
}
|
||||||
// 计算手续费 = 结算金额 * 0.55%
|
// 计算手续费 = 结算金额 * 0.55%
|
||||||
BigDecimal fee = settleAmount.multiply(new BigDecimal(Constants.FEE_RATES));
|
BigDecimal fee = settleAmount.multiply(new BigDecimal(Constants.FEE_RATES)).setScale(2, RoundingMode.UP);
|
||||||
resultVO.setSettleAmount(settleAmount);
|
resultVO.setSettleAmount(settleAmount);
|
||||||
resultVO.setFeeAmount(fee);
|
resultVO.setFeeAmount(fee);
|
||||||
resultVO.setTradeAmount(settleAmount.subtract(fee));
|
resultVO.setTradeAmount(settleAmount.subtract(fee));
|
||||||
@@ -649,6 +659,39 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
List<String> list = Lists.newArrayList(
|
||||||
|
"17.56",
|
||||||
|
"26.13",
|
||||||
|
"11.79",
|
||||||
|
"34.80",
|
||||||
|
"12.72",
|
||||||
|
"18.03",
|
||||||
|
"19.80",
|
||||||
|
"66.76",
|
||||||
|
"15.27",
|
||||||
|
"37.50",
|
||||||
|
"28.45",
|
||||||
|
"24.81",
|
||||||
|
"16.75");
|
||||||
|
|
||||||
|
// 总手续费
|
||||||
|
BigDecimal totalFeeAmount = BigDecimal.ZERO;
|
||||||
|
BigDecimal totalTradeAmount = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
for (String s : list) {
|
||||||
|
BigDecimal settleAmount = new BigDecimal(s);
|
||||||
|
BigDecimal feeAmount = settleAmount.multiply(new BigDecimal(Constants.FEE_RATES)).setScale(2, RoundingMode.UP);
|
||||||
|
// 交易金额 = 结算金额 - 手续费
|
||||||
|
BigDecimal tradeAmount = settleAmount.subtract(feeAmount);
|
||||||
|
|
||||||
|
totalFeeAmount = totalFeeAmount.add(feeAmount);
|
||||||
|
totalTradeAmount = totalTradeAmount.add(tradeAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("总手续费" + totalFeeAmount);
|
||||||
|
System.out.println("总交易金额" + totalTradeAmount);
|
||||||
|
|
||||||
|
|
||||||
BigDecimal settleAmount = new BigDecimal("330.37");
|
BigDecimal settleAmount = new BigDecimal("330.37");
|
||||||
// 计算手续费 = 结算金额 * 0.55%
|
// 计算手续费 = 结算金额 * 0.55%
|
||||||
BigDecimal fee = settleAmount.multiply(new BigDecimal(Constants.FEE_RATES));
|
BigDecimal fee = settleAmount.multiply(new BigDecimal(Constants.FEE_RATES));
|
||||||
|
|||||||
Reference in New Issue
Block a user