Commit f22bffab by 程裕兵

feat:refund

parent 036262af
...@@ -25,7 +25,11 @@ public class FeeUtil { ...@@ -25,7 +25,11 @@ public class FeeUtil {
/** /**
* 【退款】计算退款手续费(元) * 【退款】计算退款手续费(元)
* *
* <p>实退手续费计算公式:退款手续费=向下取整(退款金额*原交易手续费金额/原交易金额)</p> * <code>试算手续费 = 向下取整(退款金额/原交易金额*原交易手续费金额)</code>
* <code>试算实退金额 = 退款申请金额-试算手续费</code>
* <code>剩余实收金额 = 实收金额-已实退金额</code>
* <code>若:剩余实收金额 >= 试算实退金额,则:应退手续费 = 试算手续费</code>
* <code>若:剩余实收金额 < 试算实退金额,则:应退手续费 = 试算手续费 + (试算实退金额 - 剩余实收金额)</code>
* *
* @param refundTransAmount 退款申请金额(元) * @param refundTransAmount 退款申请金额(元)
* @param payTransAmount 原支付交易金额(元) * @param payTransAmount 原支付交易金额(元)
...@@ -54,8 +58,6 @@ public class FeeUtil { ...@@ -54,8 +58,6 @@ public class FeeUtil {
BigDecimal payActualAmount = new BigDecimal("99.43"); BigDecimal payActualAmount = new BigDecimal("99.43");
BigDecimal payFee = new BigDecimal("0.57"); BigDecimal payFee = new BigDecimal("0.57");
BigDecimal historyRefundActualAmount = new BigDecimal("99.43"); BigDecimal historyRefundActualAmount = new BigDecimal("99.43");
// 预计输出:1
// 实退金额:0,实退手续费:1。剩余可退金额:0,历史实退金额:498,历史实退手续费:2
System.out.println( System.out.println(
FeeUtil.calculateRefundFee(refundTransAmount, payTransAmount, payActualAmount, payFee, FeeUtil.calculateRefundFee(refundTransAmount, payTransAmount, payActualAmount, payFee,
historyRefundActualAmount)); historyRefundActualAmount));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment