From c76d21afb6853938a8f743a9fbaad9b5855d19c6 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Wed, 26 Nov 2025 14:57:21 +0800
Subject: [PATCH] 提币手续费

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java |   49 +++++++++++++++++++++++++++----------------------
 1 files changed, 27 insertions(+), 22 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 b4ad7d5..cdb65f9 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
@@ -2,6 +2,7 @@
 
 import cn.hutool.core.util.StrUtil;
 import com.yami.trading.api.util.ServletUtil;
+import com.yami.trading.bean.item.domain.Item;
 import com.yami.trading.bean.model.User;
 import com.yami.trading.bean.model.Withdraw;
 import com.yami.trading.common.constants.Constants;
@@ -220,7 +221,7 @@
      */
     @GetMapping("fee")
     @ApiOperation("提现手续费")
-    public Result fee(String channel, String amount) {
+    public Result fee(String channel, String amount, String type) {
         String error = this.verif(amount);
         if (!StringUtils.isNullOrEmpty(error)) {
             throw new YamiShopBindException(error);
@@ -237,30 +238,34 @@
             // 手续费(USDT)
             // 提现手续费类型,fixed是单笔固定金额,rate是百分比,part是分段
             String withdraw_fee_type = this.sysparaService.find("withdraw_fee_type").getSvalue();
-            // fixed单笔固定金额 和 rate百分比 的手续费数值
-            double withdraw_fee = Double.valueOf(this.sysparaService.find("withdraw_fee").getSvalue());
-            if ("fixed".equals(withdraw_fee_type)) {
-                fee = withdraw_fee;
-            }
-            if ("rate".equals(withdraw_fee_type)) {
-                withdraw_fee = Arith.div(withdraw_fee, 100);
-                fee = Arith.mul(amount_double, withdraw_fee);
-            }
-            if ("part".equals(withdraw_fee_type)) {
-                // 提现手续费part分段的值
-                String withdraw_fee_part = this.sysparaService.find("withdraw_fee_part").getSvalue();
-                String[] withdraw_fee_parts = withdraw_fee_part.split(",");
-                for (int i = 0; i < withdraw_fee_parts.length; i++) {
-                    double part_amount = Double.valueOf(withdraw_fee_parts[i]);
-                    double part_fee = Double.valueOf(withdraw_fee_parts[i + 1]);
-                    if (amount_double <= part_amount) {
-                        fee = part_fee;
-                        break;
+            map.put("withdraw_fee_type", withdraw_fee_type);
+            if (type!=null && type.equalsIgnoreCase(Item.cryptos)) {
+                fee = 0;
+            } else {
+                // fixed单笔固定金额 和 rate百分比 的手续费数值
+                double withdraw_fee = Double.valueOf(this.sysparaService.find("withdraw_fee").getSvalue());
+                if ("fixed".equals(withdraw_fee_type)) {
+                    fee = withdraw_fee;
+                }
+                if ("rate".equals(withdraw_fee_type)) {
+                    withdraw_fee = Arith.div(withdraw_fee, 100);
+                    fee = Arith.mul(amount_double, withdraw_fee);
+                }
+                if ("part".equals(withdraw_fee_type)) {
+                    // 提现手续费part分段的值
+                    String withdraw_fee_part = this.sysparaService.find("withdraw_fee_part").getSvalue();
+                    String[] withdraw_fee_parts = withdraw_fee_part.split(",");
+                    for (int i = 0; i < withdraw_fee_parts.length; i++) {
+                        double part_amount = Double.valueOf(withdraw_fee_parts[i]);
+                        double part_fee = Double.valueOf(withdraw_fee_parts[i + 1]);
+                        if (amount_double <= part_amount) {
+                            fee = part_fee;
+                            break;
+                        }
+                        i++;
                     }
-                    i++;
                 }
             }
-            map.put("withdraw_fee_type", withdraw_fee_type);
         }
 
         double volume_last = Arith.sub(amount_double, fee);

--
Gitblit v1.9.3