KKSU
2024-12-20 f150c96d9227c1cea6feef6b78f315b8be8410d0
refactor(mall): 重构提现相关逻辑

- 修改 AdminRunVipServiceImpl 中的提现处理逻辑,使用 withdrawTimes 字段作为实际提现金额
- 在 ApiMallMemberServiceImpl 中添加减少碳币余额的操作,并使用 withdrawTimes 字段记录实际提现金额
- 更新 CommissionChangeDto 中 amount 字段的描述,改为碳积分
- 在 MallMemberWithdraw 实体中添加 withdrawTimes 字段,用于记录实际提现次数
4 files modified
11 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/dto/CommissionChangeDto.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java 3 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 4 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/CommissionChangeDto.java
@@ -19,7 +19,7 @@
    @NotNull(message = "参数不能为空")
    @Min(0)
    @ApiModelProperty(value = "金额", example = "1")
    @ApiModelProperty(value = "碳积分", example = "1")
    private BigDecimal amount;
    @NotBlank(message = "参数不能为空")
src/main/java/cc/mrbird/febs/mall/entity/MallMemberWithdraw.java
@@ -24,6 +24,8 @@
    private BigDecimal amountFee;
    private BigDecimal withdrawTimes;
    private String name;
    private String type;
src/main/java/cc/mrbird/febs/mall/service/impl/AdminRunVipServiceImpl.java
@@ -111,8 +111,7 @@
        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("操作成功");
    }
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -583,6 +583,8 @@
        /**
         *  减少碳币,增加进行中提现记录
         */
        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);
@@ -595,9 +597,9 @@
        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(),