xiaoyong931011
2023-03-09 3ea3c013bb241c05d0e6a2c4344d9b708ffa1e61
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -379,12 +379,40 @@
            throw new FebsException("支付密码错误");
        }
        walletService.reduceBalance(transferDto.getAmount(), memberId);
        String orderNo = MallUtils.getOrderNum("T");
        this.addMoneyFlow(memberId, transferDto.getAmount().negate(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, mallMember.getId(), null, FlowTypeEnum.BALANCE.getValue());
        DataDictionaryCustom cashOutSettingDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.CASHOUT_SETTING.getType(),
                DataDictionaryEnum.CASHOUT_SETTING.getCode()
        );
        CashOutSettingVo cashOutSettingVo = JSONObject.parseObject(cashOutSettingDic.getValue(), CashOutSettingVo.class);
        BigDecimal insideFee = cashOutSettingVo.getInsideFee().multiply(BigDecimal.valueOf(0.01));
        //转账手续费
        BigDecimal insideFeeAmount = transferDto.getAmount().multiply(insideFee).setScale(2, BigDecimal.ROUND_DOWN);
        walletService.addBalance(transferDto.getAmount(), mallMember.getId());
        this.addMoneyFlow(mallMember.getId(), transferDto.getAmount(), MoneyFlowTypeEnum.TRANSFER.getValue(), orderNo, null, null, memberId, null, FlowTypeEnum.BALANCE.getValue());
        BigDecimal avaAmount = transferDto.getAmount().subtract(insideFeeAmount).setScale(2, BigDecimal.ROUND_DOWN);
        walletService.reduceBalance(avaAmount, memberId);
        String orderNo = MallUtils.getOrderNum("T");
        this.addMoneyFlow(
                memberId,
                avaAmount.negate(),
                MoneyFlowTypeEnum.TRANSFER.getValue(),
                orderNo,
                null,
                null,
                mallMember.getId(),
                null,
                FlowTypeEnum.BALANCE.getValue());
        walletService.addBalance(avaAmount, mallMember.getId());
        this.addMoneyFlow(
                mallMember.getId(),
                avaAmount,
                MoneyFlowTypeEnum.TRANSFER.getValue(),
                orderNo,
                null,
                null,
                memberId,
                null,
                FlowTypeEnum.BALANCE.getValue());
    }
    @Override