此模块功能为用户提交提现申请,后台管理员通过审核后向用户申请时选择的银行卡里转入扣除手续费的金额。
由于目前对接的易宝推广不支持审核提现的功能,无法防止挤兑风险,为了完成上线需要修改业务流程让用户自己自行提现扣除相应手续费。
提现流程图如下:
代码如下:
/**
* 提现 luke 2015-8-19修改
*/
public void withdrawTrusteeship() {
try {
//可提金额 =余额-当日充值总额-手续费
double balance = userBillBO.getBalance(this.getInstance().getUser()
.getId());
//根据用户查询当日充值总额
double getRechargeTodayMon=rechargeService.getRechargeToday(new Date(),this.getInstance().getUser()
.getId());
double fee=getInstance().getFee();
//判断提现的金额 是否大于可提金额
if (balance - getRechargeTodayMon - fee-this.getInstance().getActualMoney()<0) {
FacesUtil.addErrorMessage("提现金额超出今日可提金额!");
return;
}
//取现判断,根据绑卡状态为VERIFIED审核中
boolean ifWinthByStauts=false;
//取得当前会员所有的银行卡记录
List<BankCard> backList=bankCardList.getBankCardListbyUser();
// List<BankCard> getBankCardListbyLoginUser=bankCardService.getBankCardsByUserId(this.getInstance().getUser().getId());
for (BankCard bankCard : backList) {
if (bankCard.getCardNo().equals(this.getInstance().getBankCard().getCardNo())) {
if (bankCard.getStatus().equals("VERIFIED")) {//卡为审核中状态
ifWinthByStauts=true;//
break;
}
}
}
//如果绑卡状态为已审核true,就去易宝取现,否则返回false审核中,不能 取现
if (ifWinthByStauts) {
wcs.applyWithdrawCash(this.getInstance());
trusteeshipWithdrawCashService.createWithdrawCashOrder(this.getInstance().getId(), FacesContext.getCurrentInstance());
}else {
FacesUtil.addErrorMessage("您的卡号正在审核中,请稍等!");
}
} catch (InsufficientBalance e) {
FacesUtil.addErrorMessage("余额不足!");
return;
}
}