新版仿ok交易所-后端
1
zj
2025-09-30 0c389d73cc79a0027cf779721c6bf184b12f5d86
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWalletController.java
@@ -1,5 +1,6 @@
package com.yami.trading.api.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yami.trading.api.dto.ChannelBlockchainDto;
import com.yami.trading.api.model.GetChannelBlockchainModel;
@@ -215,13 +216,13 @@
        df2.setRoundingMode(RoundingMode.FLOOR);
        // String partyId ="dcc0dd35a49c383dadabc4dc030afe70";
        String partyId = SecurityUtils.getCurrentUserId();
        CapitaltWallet usdt = null;
        Wallet usdt = null;
        if (StringUtils.isNotEmpty(partyId)) {
//            usdt = this.walletService.saveWalletByPartyId(partyId);
            usdt = capitaltWalletService.getUserIdWallet(partyId);
            usdt = this.walletService.saveWalletByPartyId(partyId);
//            usdt = capitaltWalletService.getUserIdWallet(partyId);
        }
        if (null == usdt) {
            usdt = new CapitaltWallet();
            usdt = new Wallet();
            usdt.setMoney(new BigDecimal(0));
            usdt.setLockMoney(new BigDecimal(0));
            usdt.setFreezeMoney(new BigDecimal(0));
@@ -275,7 +276,7 @@
        }
        List<WalletExtend> walletExtends = null;
        log.info(list_symbol.toString() + "=============");
        if (StringUtils.isNotEmpty(partyId)) {
        if (StringUtils.isNotEmpty(partyId) && CollectionUtil.isNotEmpty(list_symbol)) {
            walletExtends = this.walletService.findExtend(partyId, list_symbol);
        }
        if (null == walletExtends) {
@@ -287,7 +288,7 @@
            for (int j = 0; j < walletExtends.size(); j++) {
                WalletExtend walletExtend = walletExtends.get(j);
                if (walletExtend.getWallettype().equals(list_symbol.get(i))) {
                    walletExtend.setAmount(Double.valueOf(df2.format(walletExtend.getAmount())));
                    walletExtend.setAmount(Double.valueOf(df2.format(walletExtend.getAmount()-walletExtend.getFreezeAmount())));
                    walletExtend.setLockAmount(Double.valueOf(df2.format(walletExtend.getLockAmount())));
                    walletExtend.setFreezeAmount(Double.valueOf(df2.format(walletExtend.getFreezeAmount())));
                    walletExtendsRet.add(walletExtend);
@@ -365,8 +366,8 @@
            } else {
                mapUsdt.put("lock_amount", null);
            }
            if (mapRet.get("freeze_amount") != null) {
                mapUsdt.put("freeze_amount", df2.format(Double.parseDouble(mapRet.get("freeze_amount").toString())));
            if (mapRet.get("freeze_money") != null) {
                mapUsdt.put("freeze_amount", df2.format(Double.parseDouble(mapRet.get("freeze_money").toString())));
            } else {
                mapUsdt.put("freeze_amount", null);
            }
@@ -375,7 +376,31 @@
            mapUsdt.put("frozenAmount", 0);
            extendsList.add(0, mapUsdt);
        }
        mapRet.put("extends", extendsList);
        // 分离 USDC 和 USDT,并保留其他数据
        Map<String, Object> usdcEntry = null;
        Map<String, Object> usdtEntry = null;
        List<Map<String, Object>> otherEntries = new ArrayList<>();
        for (Map<String, Object> entry : extendsList) {
            String symbolData = (String) entry.get("symbol_data");
            if ("usdc".equals(symbolData)) {
                usdcEntry = entry;
            } else if ("usdt".equals(symbolData)) {
                usdtEntry = entry;
            } else {
                otherEntries.add(entry);
            }
        }
        // 重新组合,USDC 第一,USDT 第二,其他保持原顺序
        List<Map<String, Object>> newExtendsList = new ArrayList<>();
        if (usdcEntry != null) newExtendsList.add(usdcEntry);
        if (usdtEntry != null) newExtendsList.add(usdtEntry);
        newExtendsList.addAll(otherEntries);
        mapRet.put("extends", newExtendsList);
        return Result.succeed(mapRet);
    }