| | |
| | | public void saveApplyOtherChannel(Withdraw withdraw, String symbol) { |
| | | User party = userService.getById(withdraw.getUserId()); |
| | | if (Constants.SECURITY_ROLE_TEST.equals(party.getRoleName())) { |
| | | throw new YamiShopBindException("无权限"); |
| | | throw new YamiShopBindException("no access"); |
| | | } |
| | | RealNameAuthRecord party_kyc = realNameAuthRecordService.getByUserId(withdraw.getUserId()); |
| | | HighLevelAuthRecord party_kycHighLevel = highLevelAuthRecordService.findByUserId(withdraw.getUserId()); |
| | |
| | | party_kyc=new RealNameAuthRecord(); |
| | | } |
| | | if (!(party_kyc.getStatus() == 2) && "true".equals(sysparaService.find("withdraw_by_kyc").getSvalue())) { |
| | | throw new YamiShopBindException("未基础认证"); |
| | | throw new YamiShopBindException("Not yet certified at the basic level"); |
| | | } |
| | | double withdraw_by_high_kyc = Double.valueOf(sysparaService.find("withdraw_by_high_kyc").getSvalue()); |
| | | if (withdraw_by_high_kyc > 0 && withdraw.getVolume().doubleValue() > withdraw_by_high_kyc |
| | | && !(party_kycHighLevel.getStatus() == 2)) { |
| | | throw new YamiShopBindException("请先通过高级认证"); |
| | | throw new YamiShopBindException("Please go through the advanced certification process first."); |
| | | } |
| | | // if (!party.isWithdrawAuthority()) { |
| | | // throw new YamiShopBindException("无权限"); |
| | |
| | | } |
| | | WalletExtend walletExtend = walletService.saveExtendByPara(party.getUserId(), symbol); |
| | | if (walletExtend.getAmount() < withdraw.getVolume().doubleValue()) { |
| | | throw new YamiShopBindException("余额不足"); |
| | | throw new YamiShopBindException("not sufficient funds"); |
| | | } |
| | | String withdraw_limit = sysparaService.find("withdraw_limit_" + symbol).getSvalue(); |
| | | if (withdraw.getVolume().doubleValue() < Double.valueOf(withdraw_limit)) { |
| | | throw new YamiShopBindException("提现不得小于限额"); |
| | | throw new YamiShopBindException("Withdrawal amount must not be less than the limit."); |
| | | } |
| | | String withdraw_limit_max = sysparaService.find("withdraw_limit_max").getSvalue(); |
| | | if (withdraw.getVolume().doubleValue() > Double.valueOf(withdraw_limit_max)) { |
| | | throw new YamiShopBindException("提现不得大于限额"); |
| | | throw new YamiShopBindException("Withdrawal amount cannot exceed the limit."); |
| | | } |
| | | /** |
| | | * 当日提现次数是否超过 |
| | |
| | | List<Withdraw> withdraw_days = findAllByDate(withdraw.getUserId().toString()); |
| | | if (withdraw_limit_num > 0 && withdraw_days != null) { |
| | | if (withdraw_days.size() >= withdraw_limit_num) { |
| | | throw new YamiShopBindException("当日可提现次数不足"); |
| | | throw new YamiShopBindException("The number of times funds can be withdrawn on the same day is insufficient."); |
| | | } |
| | | } |
| | | /** |
| | |
| | | // |
| | | String dateString = sdf.format(date); |
| | | if (dateString.compareTo(withdraw_time[0]) < 0 || dateString.compareTo(withdraw_time[1]) > 0) { |
| | | throw new YamiShopBindException("不在可提现时间内"); |
| | | throw new YamiShopBindException("Not within the available withdrawal period"); |
| | | } |
| | | } |
| | | /** |
| | |
| | | public void saveApply(Withdraw withdraw, String channel, String method_id) { |
| | | withdraw.setMethod(channel); |
| | | if (channel.indexOf("BTC") != -1) { |
| | | saveApplyOtherChannel(withdraw, "btc"); |
| | | saveApplyOtherChannel(withdraw, "btcusdt"); |
| | | return; |
| | | } else if (channel.indexOf("ETH") != -1) { |
| | | saveApplyOtherChannel(withdraw, "eth"); |
| | | saveApplyOtherChannel(withdraw, "ethusdt"); |
| | | return; |
| | | } |
| | | User party = userService.getById(withdraw.getUserId()); |
| | |
| | | CapitaltWallet capitaltWallet = capitaltWalletService.getOne(new LambdaQueryWrapper<>(CapitaltWallet.class) |
| | | .eq(CapitaltWallet::getUserId, withdraw.getUserId()).last(" limit 1 ")); |
| | | if (capitaltWallet.getMoney().doubleValue() < withdraw.getVolume().doubleValue()) { |
| | | throw new YamiShopBindException("余额不足"); |
| | | throw new YamiShopBindException("not sufficient funds"); |
| | | } |
| | | // 手续费(USDT) |
| | | /** |
| | |
| | | } |
| | | String withdraw_limit = sysparaService.find("withdraw_limit").getSvalue(); |
| | | if (withdraw.getVolume().doubleValue() < Double.valueOf(withdraw_limit)) { |
| | | throw new YamiShopBindException("提现不得小于限额"); |
| | | throw new YamiShopBindException("Withdrawal amount must not be less than the limit."); |
| | | } |
| | | String withdraw_limit_max = sysparaService.find("withdraw_limit_max").getSvalue(); |
| | | if (withdraw.getVolume().doubleValue() > Double.valueOf(withdraw_limit_max)) { |
| | | throw new YamiShopBindException("提现不得大于限额"); |
| | | throw new YamiShopBindException("Withdrawal amount must not be less than the withdrawal limit and must not exceed the withdrawal limit."); |
| | | } |
| | | /** |
| | | * 当日提现次数是否超过 |
| | |
| | | List<Withdraw> withdraw_days = findAllByDate(withdraw.getUserId().toString()); |
| | | if (withdraw_limit_num > 0 && withdraw_days != null) { |
| | | if (withdraw_days.size() >= withdraw_limit_num) { |
| | | throw new YamiShopBindException("当日可提现次数不足"); |
| | | throw new YamiShopBindException("The number of times funds can be withdrawn on the same day is insufficient."); |
| | | } |
| | | } |
| | | /** |
| | |
| | | // |
| | | String dateString = sdf.format(date); |
| | | if (dateString.compareTo(withdraw_time[0]) < 0 || dateString.compareTo(withdraw_time[1]) > 0) { |
| | | throw new YamiShopBindException("不在可提现时间内"); |
| | | throw new YamiShopBindException("Not within the available withdrawal period"); |
| | | } |
| | | } |
| | | /** |
| | |
| | | withdraw.setMethod(channel); |
| | | } |
| | | else if ("OTC".equals(channel)) { |
| | | throw new YamiShopBindException("渠道未开通"); |
| | | throw new YamiShopBindException("Channel not activated"); |
| | | } else { |
| | | throw new YamiShopBindException("渠道未开通"); |
| | | throw new YamiShopBindException("Channel not activated"); |
| | | } |
| | | log.info("========================getOrderNo=======11111111============================================="); |
| | | |
| | |
| | | |
| | | |
| | | if(ObjectUtil.isEmpty(capitaltWallet)){ |
| | | throw new YamiShopBindException("用户资金账户不存在!"); |
| | | throw new YamiShopBindException("The user's funds account does not exist!"); |
| | | } |
| | | capitaltWalletService.update(new LambdaUpdateWrapper<CapitaltWallet>() |
| | | .set(CapitaltWallet::getMoney,new BigDecimal(Arith.sub(capitaltWallet.getMoney().doubleValue(), amount_before))) |
| | | .eq(CapitaltWallet::getUserId,capitaltWallet.getUserId())); |
| | | capitaltWalletService.update(capitaltWallet,-withdraw.getAmount().doubleValue()); |
| | | |
| | | save(withdraw); |
| | | |