feat: include pre-withdrawal balance in review

This commit is contained in:
zhx 2026-07-20 16:48:19 +08:00
parent f46785818b
commit 712d76307f
3 changed files with 11 additions and 0 deletions

View File

@ -133,6 +133,8 @@ public class UserBankWithdrawCmdExe {
.setBankCardId(bankCard.getId()) .setBankCardId(bankCard.getId())
.setBankCardType(bankCard.getCardType()) .setBankCardType(bankCard.getCardType())
.setAmount(cmd.getAmount()) .setAmount(cmd.getAmount())
// balance 在扣款前读取并完成充足性校验固化到申请文档后异步重试始终投递同一份财务快照
.setBalanceBefore(balance)
.setAmountType(salaryType.getCode()) .setAmountType(salaryType.getCode())
.setApprovalProcesses(List.of( .setApprovalProcesses(List.of(
new UserBankWithdrawMoneyApprovalProcess() new UserBankWithdrawMoneyApprovalProcess()

View File

@ -75,6 +75,10 @@ public class HyAppWithdrawalReviewClient {
payload.put("salaryAssetType", apply.getAmountType()); payload.put("salaryAssetType", apply.getAmountType());
payload.put("withdrawAmount", normalizedAmount.toPlainString()); payload.put("withdrawAmount", normalizedAmount.toPlainString());
payload.put("withdrawAmountMinor", amountMinor); payload.put("withdrawAmountMinor", amountMinor);
if (apply.getBalanceBefore() != null) {
// 审核展示必须使用扣款前快照不能在定时投递时重新查询已经扣减或退款后的余额
payload.put("balanceBefore", apply.getBalanceBefore().stripTrailingZeros().toPlainString());
}
payload.put("withdrawMethod", bankCard.getCardType()); payload.put("withdrawMethod", bankCard.getCardType());
payload.put("withdrawAddress", bankCard.getCardNo()); payload.put("withdrawAddress", bankCard.getCardNo());
payload.put("createdAtMs", apply.getCreateTime().getTime()); payload.put("createdAtMs", apply.getCreateTime().getTime());

View File

@ -66,6 +66,11 @@ public class UserBankWithdrawMoneyApply implements Serializable {
*/ */
private BigDecimal amount; private BigDecimal amount;
/**
* 提交提现前的可用余额快照只记录申请时事实审核页不能用之后变化的当前余额替代.
*/
private BigDecimal balanceBefore;
/** /**
* 金额类型MONEY(美金政策)SALARY_DIAMOND(工资钻石政策) * 金额类型MONEY(美金政策)SALARY_DIAMOND(工资钻石政策)
*/ */