1
zj
14 hours ago b426757e13490d9d88a75faf7ba94455b890f582
1
3 files modified
30 ■■■■■ changed files
trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiChannelBlockchainController.java 23 ●●●●● patch | view | raw | blame | history
trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java 1 ●●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/item/ItemUserOptionalService.java 6 ●●●● patch | view | raw | blame | history
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();
                    //创建地址
trading-order-common/src/main/java/com/yami/trading/common/constants/Constants.java
@@ -547,6 +547,7 @@
         */
        BLOCKCHAIN_COINS_NAME.put("ERC20", "ERC20");
        BLOCKCHAIN_COINS_NAME.put("TRC20", "TRC20");
        BLOCKCHAIN_COINS_NAME.put("BSC", "BSC");
        /**
         * usdt
         */
trading-order-service/src/main/java/com/yami/trading/service/item/ItemUserOptionalService.java
@@ -62,6 +62,10 @@
        List<ItemUserOptionalDTO> models = wrapper.toDTO(list(queryWrapper));
        for(ItemUserOptionalDTO dto: models){
            Item bySymbol = itemService.findBySymbol(dto.getSymbol());
            if (bySymbol == null) {
                log.warn("自选项 {} 对应的产品不存在,已跳过详情填充", dto.getSymbol());
                continue;
            }
            dto.setName(bySymbol.getName());
            List<Realtime> realtimes = dataService.realtime(dto.getSymbol());
            if(!CollectionUtil.isEmpty(realtimes)){
@@ -72,7 +76,7 @@
                dto.setVolumeRatio(realtime.getVolumeRatio());
                dto.setType(bySymbol.getType());
            }else{
                log.error("{} 实时价格是空", bySymbol.getSymbol());
                log.error("{} 实时价格是空", dto.getSymbol());
            }
        }
        return models;