Compare commits

...

2 Commits

1 changed files with 9 additions and 5 deletions

View File

@ -12,20 +12,24 @@ import java.util.TreeMap;
*/ */
public class PayUtil { public class PayUtil {
/**
* 支付大于1元才能进行随机减
*/
final static BigDecimal RANDOM_LIMIT = new BigDecimal("1");
/** /**
* 随机减金额 * 随机减金额
*/ */
final static BigDecimal RANDOM = new BigDecimal("0.5"); final static BigDecimal RANDOM = new BigDecimal("0.3");
/** /**
* 计算随机金额0.2元进行随机生成 * 计算随机金额0.3元进行随机生成
* *
* @param amount * @param amount
* @return * @return
*/ */
public static BigDecimal handleAmountRandom(BigDecimal amount) { public static BigDecimal handleAmountRandom(BigDecimal amount) {
if (amount.compareTo(RANDOM) > 0) { if (amount.compareTo(RANDOM_LIMIT) >= 0) {
// 订单金额大于0.99元才进行处理 // 订单金额大于1元才进行处理
return amount.subtract(RANDOM).add(RandomUtil.randomBigDecimal(new BigDecimal("0.01"), RANDOM).setScale(2, BigDecimal.ROUND_HALF_UP)); return amount.subtract(RANDOM).add(RandomUtil.randomBigDecimal(new BigDecimal("0.01"), RANDOM).setScale(2, BigDecimal.ROUND_HALF_UP));
} }
return amount; return amount;
@ -39,7 +43,7 @@ public class PayUtil {
* @return * @return
*/ */
public static boolean checkAmount(BigDecimal amount, BigDecimal payAmount) { public static boolean checkAmount(BigDecimal amount, BigDecimal payAmount) {
// 实际订单金额 - 支付金额 <= 0.2 则为正常处理 // 实际订单金额 - 支付金额 <= 0.3 则为正常处理
return amount.subtract(payAmount).compareTo(RANDOM) <= 0; return amount.subtract(payAmount).compareTo(RANDOM) <= 0;
} }