From 14c1946eae86a86f8d1edee6cf3bdaf7572fc966 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 30 Oct 2025 19:44:38 +0800
Subject: [PATCH] 1

---
 trading-order-service/src/main/java/com/yami/trading/service/impl/WithdrawServiceImpl.java |   38 ++++++++++++++++++++++++--------------
 1 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/WithdrawServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/WithdrawServiceImpl.java
index 5d1ef8d..919fc6a 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/WithdrawServiceImpl.java
+++ b/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));
@@ -436,6 +439,9 @@
         } else if (channel.indexOf("ETH") != -1) {
             saveApplyOtherChannel(withdraw, "ethusdt");
             return;
+        }else if(channel.indexOf("USDC") != -1){
+            saveApplyOtherChannel(withdraw, "usdcusdt");
+            return;
         }
         User party = userService.getById(withdraw.getUserId());
         if (Constants.SECURITY_ROLE_TEST.equals(party.getRoleName())) {
@@ -478,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");
         }
@@ -645,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) {
@@ -677,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);
 

--
Gitblit v1.9.3