新版仿ok交易所-后端
1
zj
2025-10-14 7ff2bf07924915fc12612c9fd8cae5915dca2560
trading-order-service/src/main/java/com/yami/trading/service/impl/WithdrawServiceImpl.java
@@ -135,10 +135,12 @@
        String symbol = "";
        if (withdraw.getMethod().indexOf("BTC") != -1) {
            symbol = "btc";
                symbol = "btcusdt";
        } else if (withdraw.getMethod().indexOf("ETH") != -1) {
            symbol = "eth";
        } else {
            symbol = "ethusdt";
        } else if(withdraw.getMethod().indexOf("USDC") != -1){
            symbol = "usdcusdt";
        }else {
            symbol = "usdt";
        }
        if ("usdt".equals(symbol)) {
@@ -149,14 +151,16 @@
//            walletService.update(wallet.getUserId().toString(),
//                    Arith.add(withdraw.getAmount(), withdraw.getAmountFee()));
            CapitaltWallet capitaltWallet = capitaltWalletService.getOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
                    .eq(CapitaltWallet::getUserId, wallet.getUserId().toString()).last(" limit 1 "));
//            CapitaltWallet capitaltWallet = capitaltWalletService.getOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
//                    .eq(CapitaltWallet::getUserId, wallet.getUserId().toString()).last(" limit 1 "));
            Wallet capitaltWallet = walletService.getOne(new LambdaQueryWrapper<>(Wallet.class)
                    .eq(Wallet::getUserId, wallet.getUserId().toString()).last(" limit 1 "));
            if(ObjectUtil.isEmpty(capitaltWallet)){
                throw new YamiShopBindException("用户资金账户不存在!");
            }
            capitaltWalletService.update(new LambdaUpdateWrapper<CapitaltWallet>()
                    .set(CapitaltWallet::getMoney,new BigDecimal(Arith.add(capitaltWallet.getMoney(), withdraw.getVolume())))
                    .eq(CapitaltWallet::getUserId,wallet.getUserId()));
            walletService.update(new LambdaUpdateWrapper<Wallet>()
                    .set(Wallet::getMoney,new BigDecimal(Arith.add(capitaltWallet.getMoney(), withdraw.getVolume())))
                    .eq(Wallet::getUserId,wallet.getUserId()));
            /*
@@ -210,7 +214,6 @@
        logService.save(log);
        tipService.deleteTip(withdraw.getUuid().toString());
    }
    @Override
    public long waitCount() {
        return count(Wrappers.<Withdraw>query().lambda().eq(Withdraw::getStatus, 0));
@@ -481,10 +484,10 @@
            throw new YamiShopBindException("Your account has been frozen");
        }
//        Wallet wallet = walletService.saveWalletByPartyId(withdraw.getUserId());
        CapitaltWallet capitaltWallet = capitaltWalletService.getOne(new LambdaQueryWrapper<>(CapitaltWallet.class)
                .eq(CapitaltWallet::getUserId, withdraw.getUserId()).last(" limit 1 "));
        Wallet capitaltWallet = walletService.saveWalletByPartyId(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("not sufficient funds");
        }
@@ -648,6 +651,8 @@
                }
            }
        }
        //固定手续费10u
        fee = 10;
        withdraw.setAmountFee(new BigDecimal(fee));
        withdraw.setAmount(new BigDecimal(Arith.sub(withdraw.getVolume().doubleValue(), fee)));
        if (channel.indexOf("USDT") != -1) {
@@ -680,7 +685,9 @@
        if(ObjectUtil.isEmpty(capitaltWallet)){
            throw new YamiShopBindException("The user's funds account does not exist!");
        }
        capitaltWalletService.update(capitaltWallet,-withdraw.getVolume().doubleValue());
//        walletService.update(capitaltWallet,-withdraw.getVolume().doubleValue());
        walletService.update(capitaltWallet.getUserId(),-withdraw.getVolume().doubleValue());
        save(withdraw);