| | |
| | | package com.yami.trading.api.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.yami.trading.bean.model.CapitaltWallet; |
| | | import com.yami.trading.bean.model.Withdraw; |
| | | import com.yami.trading.common.constants.Constants; |
| | | import com.yami.trading.common.domain.Result; |
| | |
| | | import com.yami.trading.common.util.DateUtils; |
| | | import com.yami.trading.common.util.StringUtils; |
| | | import com.yami.trading.security.common.util.SecurityUtils; |
| | | import com.yami.trading.service.CapitaltWalletService; |
| | | import com.yami.trading.service.SessionTokenService; |
| | | import com.yami.trading.service.WithdrawService; |
| | | import com.yami.trading.service.syspara.SysparaService; |
| | |
| | | private SysparaService sysparaService; |
| | | @Autowired |
| | | protected WalletLogService walletLogService; |
| | | @Autowired |
| | | CapitaltWalletService capitaltWalletService; |
| | | |
| | | /** |
| | | * 首次进入页面,传递session_token |
| | |
| | | String amount, String from, String currency, |
| | | String channel){ |
| | | String partyId = SecurityUtils.getUser().getUserId(); |
| | | boolean lock = false; |
| | | String error = this.verif(amount); |
| | | if (!StringUtils.isNullOrEmpty(error)) { |
| | | throw new YamiShopBindException(error); |
| | |
| | | throw new YamiShopBindException("系统参数错误"); |
| | | } |
| | | |
| | | if ("true".equals(exchange_withdraw_need_safeword)) { |
| | | |
| | | if (StringUtils.isEmptyString(safeword)) { |
| | | throw new YamiShopBindException("资金密码不能为空"); |
| | | } |
| | | |
| | | if (safeword.length() < 6 || safeword.length() > 12) { |
| | | throw new YamiShopBindException("资金密码必须6-12位"); |
| | | } |
| | | if (!userService.checkLoginSafeword(SecurityUtils.getUser().getUserId(),safeword)){ |
| | | throw new YamiShopBindException("资金密码错误"); |
| | | } |
| | | } |
| | | Object object = this.sessionTokenService.cacheGet(session_token); |
| | | this.sessionTokenService.del(session_token); |
| | | // if (null == object || !SecurityUtils.getUser().getUserId().equals((String) object)) { |
| | | // throw new YamiShopBindException("请稍后再试"); |
| | | // if ("true".equals(exchange_withdraw_need_safeword)) { |
| | | // |
| | | // if (StringUtils.isEmptyString(safeword)) { |
| | | // throw new YamiShopBindException("资金密码不能为空"); |
| | | // } |
| | | // |
| | | // if (safeword.length() < 6 || safeword.length() > 12) { |
| | | // throw new YamiShopBindException("资金密码必须6-12位"); |
| | | // } |
| | | // if (!userService.checkLoginSafeword(SecurityUtils.getUser().getUserId(),safeword)){ |
| | | // throw new YamiShopBindException("资金密码错误"); |
| | | // } |
| | | // } |
| | | |
| | | // 获取资金账户(capital) |
| | | CapitaltWallet capitaltWallet = capitaltWalletService.getOne(new LambdaQueryWrapper<>(CapitaltWallet.class) |
| | | .eq(CapitaltWallet::getUserId, partyId).last(" limit 1 ")); |
| | | if(capitaltWallet.getMoney().compareTo(new BigDecimal(amount)) < 0){ |
| | | throw new YamiShopBindException("Insufficient available balance for withdrawal!"); |
| | | } |
| | | |
| | | this.sessionTokenService.del(session_token); |
| | | Withdraw withdraw = new Withdraw(); |
| | | withdraw.setUserId(partyId); |
| | | withdraw.setVolume(new BigDecimal(amount_double)); |