class MemberWalletExecute implements MemberWithdrawalEvent {

    @Autowired
    private MemberWalletService memberWalletService;

    @Override
    public void memberWithdrawal(MemberWithdrawalMessage memberWithdrawalMessage) {<FILL_FUNCTION_BODY>}
}

        switch (WithdrawStatusEnum.valueOf(memberWithdrawalMessage.getStatus())) {
            case VIA_AUDITING:
                memberWalletService.withdrawal(memberWithdrawalMessage.getMemberWithdrawApplyId());
                break;
            case SUCCESS:
                //提现成功扣减冻结金额
                memberWalletService.reduceFrozen(
                        new MemberWalletUpdateDTO(memberWithdrawalMessage.getPrice(), memberWithdrawalMessage.getMemberId(), "提现成功，余额提现",
                                DepositServiceTypeEnum.WALLET_WITHDRAWAL.name()));
                break;
            case ERROR:
                //需要从冻结金额扣减到余额
                memberWalletService.increaseWithdrawal(new MemberWalletUpdateDTO(memberWithdrawalMessage.getPrice(),
                        memberWithdrawalMessage.getMemberId(), "第三方提现失败，提现金额解冻到余额", DepositServiceTypeEnum.WALLET_WITHDRAWAL.name()));
                break;
            case FAIL_AUDITING:
                //需要从冻结金额扣减到余额
                memberWalletService.increaseWithdrawal(new MemberWalletUpdateDTO(memberWithdrawalMessage.getPrice(),
                        memberWithdrawalMessage.getMemberId(), "审核拒绝，提现金额解冻到余额", DepositServiceTypeEnum.WALLET_WITHDRAWAL.name()));
                break;
            default:
                break;
        }
    
<no_super_class>