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-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java |   47 +++++++++++++++++++++++++++++++----------------
 1 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java
index 28b9557..0012b93 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java
@@ -1,5 +1,8 @@
 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.Wallet;
 import com.yami.trading.bean.model.Withdraw;
 import com.yami.trading.common.constants.Constants;
 import com.yami.trading.common.domain.Result;
@@ -8,7 +11,9 @@
 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.WalletService;
 import com.yami.trading.service.WithdrawService;
 import com.yami.trading.service.syspara.SysparaService;
 import com.yami.trading.service.user.UserService;
@@ -44,7 +49,10 @@
     private SysparaService sysparaService;
     @Autowired
     protected WalletLogService walletLogService;
-
+    @Autowired
+    CapitaltWalletService capitaltWalletService;
+    @Autowired
+    WalletService walletService;
     /**
      * 首次进入页面,传递session_token
      */
@@ -73,7 +81,6 @@
                                 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);
@@ -86,24 +93,32 @@
             throw new YamiShopBindException("系统参数错误");
         }
 
-        if ("true".equals(exchange_withdraw_need_safeword)) {
+//        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("资金密码错误");
+//            }
+//        }
 
-            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)
+        if(channel.contains("USDT")){
+            Wallet capitaltWallet = walletService.getOne(new LambdaQueryWrapper<>(Wallet.class)
+                    .eq(Wallet::getUserId, partyId).last(" limit 1 "));
+//            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!");
             }
         }
-        Object object = this.sessionTokenService.cacheGet(session_token);
+
         this.sessionTokenService.del(session_token);
-//        if (null == object || !SecurityUtils.getUser().getUserId().equals((String) object)) {
-//            throw new YamiShopBindException("请稍后再试");
-//        }
         Withdraw withdraw = new Withdraw();
         withdraw.setUserId(partyId);
         withdraw.setVolume(new BigDecimal(amount_double));

--
Gitblit v1.9.3