mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-08-14 10:07:35 +08:00
修复余额不足仍可启动充电问题
统一启动金额优先级并在启动前校验会员余额。 同步完成订单创建和余额支付后再返回鉴权成功,并增加支付凭证补偿、异常停机和结算保护。
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package com.jsowell.pile.util;
|
||||
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
class ChargeAmountUtilsTest {
|
||||
|
||||
@Test
|
||||
void resolveStartupAmount_shouldPreferFrontendAmount() {
|
||||
BigDecimal amount = ChargeAmountUtils.resolveStartupAmount(
|
||||
new BigDecimal("100"), new BigDecimal("300"));
|
||||
|
||||
assertEquals(new BigDecimal("100"), amount);
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolveStartupAmount_shouldUseMemberDefaultWhenFrontendAmountIsNull() {
|
||||
BigDecimal amount = ChargeAmountUtils.resolveStartupAmount(null, new BigDecimal("300"));
|
||||
|
||||
assertEquals(new BigDecimal("300"), amount);
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolveStartupAmount_shouldUseCodeDefaultWhenOtherAmountsAreUnavailable() {
|
||||
BigDecimal amount = ChargeAmountUtils.resolveStartupAmount(null, BigDecimal.ZERO);
|
||||
|
||||
assertEquals(Constants.BALANCE_PAY_MAX_AMOUNT_NEW, amount);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user