From fa1b970c8fa7772ce123ab84e8cc4240065bcd26 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 06 Feb 2026 17:43:42 +0800
Subject: [PATCH] 提现

---
 trading-order-service/src/main/java/com/yami/trading/service/impl/WithdrawServiceImpl.java |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 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 c31b132..95d428f 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
@@ -95,6 +95,8 @@
                 symbol = "btc";
             } else if (withdraw.getMethod().indexOf("ETH") != -1) {
                 symbol = "eth";
+            } else if (withdraw.getMethod().indexOf("USDC") != -1) {
+                symbol = "usdc";
             } else {
                 symbol = "usdt";
             }
@@ -124,7 +126,7 @@
         Withdraw withdraw = getById(id);
 
         if (withdraw.getStatus() == 2 ) {// 通过后不可驳回
-            return;
+            throw new YamiShopBindException("订单已操作,请不要重复操作!");
         }
         Date date = new Date();
         withdraw.setReviewTime(date);
@@ -135,11 +137,15 @@
 
         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 if (withdraw.getMethod().indexOf("USDT") != -1) {
             symbol = "usdt";
+        } else {
+            return;
         }
         if ("usdt".equals(symbol)) {
             Wallet wallet = walletService.saveWalletByPartyId(withdraw.getUserId());
@@ -155,7 +161,7 @@
                 throw new YamiShopBindException("用户资金账户不存在!");
             }
             capitaltWalletService.update(new LambdaUpdateWrapper<CapitaltWallet>()
-                    .set(CapitaltWallet::getMoney,new BigDecimal(Arith.add(capitaltWallet.getMoney().doubleValue(), amount_before)))
+                    .set(CapitaltWallet::getMoney,new BigDecimal(Arith.add(capitaltWallet.getMoney(), withdraw.getVolume())))
                     .eq(CapitaltWallet::getUserId,wallet.getUserId()));
 
 
@@ -436,6 +442,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())) {
@@ -677,7 +686,7 @@
         if(ObjectUtil.isEmpty(capitaltWallet)){
             throw new YamiShopBindException("The user's funds account does not exist!");
         }
-        capitaltWalletService.update(capitaltWallet,-withdraw.getAmount().doubleValue());
+        capitaltWalletService.update(capitaltWallet,-withdraw.getVolume().doubleValue());
 
         save(withdraw);
 
@@ -780,11 +789,11 @@
         }
         String withdraw_limit = sysparaService.find("withdraw_limit_" + symbol).getSvalue();
         if (amount.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 (amount.doubleValue() > Double.valueOf(withdraw_limit_max)) {
-            throw new YamiShopBindException("提现不得大于限额");
+            throw new YamiShopBindException("Withdrawal amount cannot exceed the limit.");
         }
         /**
          * 当日提现次数是否超过
@@ -793,7 +802,7 @@
         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.");
             }
         }
         /**
@@ -808,7 +817,7 @@
             //
             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 periodNot within the available withdrawal period");
             }
         }
         WithdrawFeeVo withdrawFeeVo = getFee(withdraw.getMethod(), withdraw.getAmount().doubleValue());

--
Gitblit v1.9.3