From ca4cfb6e80c47be9fcb3a3e1d4575cf2ed9f1f62 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 03 Jan 2025 22:38:36 +0800 Subject: [PATCH] fix(mall): 修复余额不足时的支付异常 --- src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java index bef028b..9063f79 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.math.RoundingMode; @Slf4j @Service @@ -40,4 +41,26 @@ ); } + + @Override + public void releaseNodeCoin(BigDecimal amount, BigDecimal percent, Long memberId) { + //实际节点助力的碳币 + BigDecimal multiply = amount.multiply(percent).setScale(2,RoundingMode.DOWN); + if(BigDecimal.ZERO.compareTo(multiply) >=0){ + return; + } + walletService.addCommission(multiply,memberId); + String orderNo = MallUtils.getOrderNum("JD"); + mallMoneyFlowService.runVipMoneyFlowAdd( + memberId, + memberId, + orderNo, + FlowTypeEnum.COMMISSION.getValue(), + RunVipMoneyFlowTypeEnum.NODE_COMMISSION.getValue(), + multiply, + StrUtil.format(RunVipMoneyFlowTypeEnum.NODE_COMMISSION.getDescription(),multiply), + YesOrNoEnum.YES.getValue() + ); + + } } -- Gitblit v1.9.1