refactor(mall): 重构提现相关逻辑
- 修改 AdminRunVipServiceImpl 中的提现处理逻辑,使用 withdrawTimes 字段作为实际提现金额
- 在 ApiMallMemberServiceImpl 中添加减少碳币余额的操作,并使用 withdrawTimes 字段记录实际提现金额
- 更新 CommissionChangeDto 中 amount 字段的描述,改为碳积分
- 在 MallMemberWithdraw 实体中添加 withdrawTimes 字段,用于记录实际提现次数
| | |
| | | |
| | | @NotNull(message = "参数不能为空") |
| | | @Min(0) |
| | | @ApiModelProperty(value = "金额", example = "1") |
| | | @ApiModelProperty(value = "碳积分", example = "1") |
| | | private BigDecimal amount; |
| | | |
| | | @NotBlank(message = "参数不能为空") |
| | |
| | | |
| | | private BigDecimal amountFee; |
| | | |
| | | private BigDecimal withdrawTimes; |
| | | |
| | | private String name; |
| | | |
| | | private String type; |
| | |
| | | mallMoneyFlow.setStatus(mallMemberWithdraw.getStatus()); |
| | | mallMoneyFlowMapper.updateById(mallMoneyFlow); |
| | | if(mallMemberWithdraw.getStatus() == YesOrNoEnum.NO.getValue()){ |
| | | BigDecimal add = mallMemberWithdraw.getAmount().add(mallMemberWithdraw.getAmountFee()); |
| | | walletService.addBalance(add, mallMemberWithdraw.getMemberId()); |
| | | walletService.addBalance(mallMemberWithdraw.getWithdrawTimes(), mallMemberWithdraw.getMemberId()); |
| | | } |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | |
| | | /** |
| | | * 减少碳币,增加进行中提现记录 |
| | | */ |
| | | walletService.reduceBalance(withdrawalDto.getAmount(), loginMember.getId()); |
| | | |
| | | BigDecimal withdrawalAmount = withdrawalDto.getAmount().multiply(balanceToCoin).setScale(2, BigDecimal.ROUND_DOWN); |
| | | BigDecimal fee = balanceToCoinPercent.multiply(withdrawalAmount).setScale(2, BigDecimal.ROUND_DOWN); |
| | | BigDecimal withdrawalAmountReal = withdrawalAmount.subtract(fee); |
| | |
| | | withdraw.setAmountFee(fee); |
| | | withdraw.setName(mallMemberPayment.getBank()); |
| | | withdraw.setType(mallMemberPayment.getBankNo()); |
| | | withdraw.setWithdrawTimes(withdrawalDto.getAmount()); |
| | | mallMemberWithdrawMapper.insert(withdraw); |
| | | |
| | | walletService.reduceBalance(withdrawalDto.getAmount(), loginMember.getId()); |
| | | this.runVipMoneyFlowAdd( |
| | | loginMember.getId(), |
| | | loginMember.getId(), |