From b426757e13490d9d88a75faf7ba94455b890f582 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sat, 04 Apr 2026 23:10:20 +0800
Subject: [PATCH] 1

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java
index 6b4cbd3..04cf27b 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java
@@ -1,5 +1,6 @@
 package com.yami.trading.api.controller.exchange;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.qrcode.QrCodeUtil;
 import cn.hutool.extra.qrcode.QrConfig;
@@ -68,6 +69,13 @@
 
     @Autowired
     RechargeBlockchainOrderService rechargeBlockchainOrderService;
+
+    private String normalizeChainKey(String value) {
+        if (value == null) {
+            return "";
+        }
+        return value.replace("-", "").replace("_", "").replace(" ", "").toUpperCase(Locale.ROOT);
+    }
 
     /**
      * 获取所有链地址
@@ -170,6 +178,9 @@
             Map<String, List<CryptoCurrencyEnum>> allGroupedByCoin = CryptoCurrencyEnum.getAllGroupedByCoin();
             List<CryptoCurrencyEnum> currencyEnums = allGroupedByCoin.get(coin);
             List<Coin> coinList = udunClient.listSupportCoin(false);
+            if (CollectionUtil.isEmpty(currencyEnums) || CollectionUtil.isEmpty(coinList)) {
+                return Result.succeed(data);
+            }
 
                 /*boolean change = false;
                 try {
@@ -213,7 +224,17 @@
                 }*/
             currencyEnums.forEach((currencyEnum) -> {
                 String coinName = currencyEnum.getName();
-                Coin c = coinList.stream().filter(x -> x.getName().equals(coinName)).findFirst().orElse(null);
+                String normalizedCoinName = normalizeChainKey(coinName);
+                Coin c = coinList.stream().filter(x ->
+                        normalizedCoinName.equals(normalizeChainKey(x.getName()))
+                                || normalizedCoinName.equals(normalizeChainKey(x.getCoinType()))
+                                || normalizedCoinName.equals(normalizeChainKey(x.getSymbol()))
+                                || (normalizeChainKey(currencyEnum.getCoin()).equals(normalizeChainKey(x.getCoinType()))
+                                && normalizeChainKey(currencyEnum.getChain()).contains("BSC")
+                                && (normalizeChainKey(x.getName()).contains("BSC")
+                                || normalizeChainKey(x.getMainCoinType()).contains("BSC")
+                                || normalizeChainKey(x.getSymbol()).contains("BSC")))
+                ).findFirst().orElse(null);
                 if (c != null) {
                     ChannelBlockchain rechargeAddressVo = new ChannelBlockchain();
                     //创建地址

--
Gitblit v1.9.3