Commit 7464bb8f authored by licc's avatar licc

提现接口,新增账户是否冻结校验

parent 7befb0f1
package cn.wisenergy.model.enums;
/**
* 账户冻结状态枚举
* @author 86187
*/
public enum FrozenStatus {
/**
* 账户冻结状态枚举
*/
NO_FROZEN(0, "未冻结"),
ALREADY_FROZEN(1, "已冻结");
FrozenStatus(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
private Integer code;
private String desc;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
......@@ -4,6 +4,7 @@ import cn.wisenergy.common.utils.*;
import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.WithdrawBankDto;
import cn.wisenergy.model.enums.FrozenStatus;
import cn.wisenergy.model.enums.TradeRecordEnum;
import cn.wisenergy.model.enums.TradeStatusEnum;
import cn.wisenergy.model.vo.TaxRateVo;
......@@ -135,21 +136,27 @@ public class BankServiceImpl extends ServiceImpl<BankInfoMapper, BankInfo> imple
public R<Boolean> userWithdrawBank(WithdrawBankDto dto) {
log.info("shop-mall[]BankServiceImpl[]edit[]input.param.dto:" + dto);
if (null == dto || StringUtils.isBlank(dto.getUserId()) || StringUtils.isBlank(dto.getCode()) ||
null != dto.getMoney()) {
null == dto.getMoney()) {
return R.error("入参不能为空!");
}
//1、判断提现金额不得超过余额
//获取账户信息
AccountInfo accountInfo = accountMapper.getByUserId(dto.getUserId());
if (null != accountInfo) {
if (null == accountInfo) {
return R.error("账户信息不存在!");
}
if (accountInfo.getFrozenStatus().equals(FrozenStatus.ALREADY_FROZEN.getCode())) {
return R.error("您的账户已被冻结,不能提现!");
}
if (dto.getMoney() > accountInfo.getExtractMoney().doubleValue()) {
return R.error("提现金额不得超过余额");
}
}
//2、验证短信验证码
//判断缓存是否过期
assert accountInfo != null;
String phone = accountInfo.getUserId();
String code = dto.getCode();
String key = StringUtil.formatKeyWithPrefix(Constants.RedisKey.BANK_PRIFIX, Constants.RedisKey.SMS_PRIFIX, phone, code + "");
......@@ -157,6 +164,7 @@ public class BankServiceImpl extends ServiceImpl<BankInfoMapper, BankInfo> imple
if (time < 0) {
return R.error(1, "验证码已过期!", false);
}
//3、添加提现交易流水记录
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(accountInfo.getUserId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment