From 81d19413394010912409cc56847c054b03e5eddb Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Sat, 11 Apr 2026 12:29:32 +0800
Subject: [PATCH] 1
---
trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java | 62 ++++++++++++++++++++++++++++--
1 files changed, 57 insertions(+), 5 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java
index 3f1a09c..78503ed 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java
@@ -1,6 +1,7 @@
package com.yami.trading.service.impl;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
@@ -319,7 +320,18 @@
String data_symbol = "";
List<String> list_symbol = new ArrayList<String>();
- List<Item> list_items = this.itemService.cacheGetByMarket("");
+ List<WalletExtend> walletExtendList = findExtend(partyId.toString());
+ list_symbol = walletExtendList.stream().map(WalletExtend::getWallettype).collect(Collectors.toList());
+ for (int i = 0; i < list_symbol.size(); i++) {
+ String symbol = list_symbol.get(i);
+ if (i != 0) {
+ data_symbol = data_symbol + "," + symbol;
+ } else {
+ data_symbol = symbol;
+ }
+ }
+
+ /*List<Item> list_items = this.itemService.cacheGetByMarket("");
for (int i = 0; i < list_items.size(); i++) {
Item items = list_items.get(i);
list_symbol.add(items.getSymbol());
@@ -328,7 +340,7 @@
} else {
data_symbol = items.getSymbol();
}
- }
+ }*/
List<Realtime> realtime_all = this.dataService.realtime(data_symbol);
if (realtime_all.size() <= 0) {
@@ -345,7 +357,7 @@
// 钱包USDT
money_wallet = wallet.getMoney().doubleValue();
// 币余额
- money_coin = this.getWalletExtendConvertUsdt(partyId.toString(), realtime_all, list_symbol);
+ money_coin = this.getWalletExtendConvertUsdt2(realtime_all, walletExtendList);
money = money + money_coin;
// 钱包USDT+币余额
money_all_coin = money;
@@ -664,8 +676,8 @@
// 统计拓展钱包
List<Item> items = itemService.findByType(symbolType);
List<String> symbolList = items.stream().map(Item::getSymbol).collect(Collectors.toList());
- List<Realtime> realtimeList = dataService.realtimeByType(symbolType);
- double convertUsdt = getWalletExtendConvertUsdt(partyId, realtimeList, symbolList);
+ //List<Realtime> realtimeList = dataService.realtimeByType(symbolType);
+ double convertUsdt = getWalletExtendConvertUSDT(partyId, symbolList);
// logger.info("getTotalAssets ==> "+partyId + " ===> "+symbolType+"====>"+convertUsdt);
@@ -1029,6 +1041,23 @@
// walletLog.setWallettype("USDT");
}
+ public double getWalletExtendConvertUsdt2(List<Realtime> realtimeList, List<WalletExtend> walletExtends) {
+ double walletExtendAll = 0;
+ for (WalletExtend walletExtend : walletExtends) {
+ for (Realtime realtime : realtimeList) {
+ String symbol = realtime.getSymbol();
+ if (symbol.equalsIgnoreCase(walletExtend.getWallettype())) {
+ Item item = itemService.findBySymbol(symbol);
+ String type = item.getType();
+ double currency = Arith.mul(realtime.getClose(), walletExtend.getAmount());
+ BigDecimal usdtByType = exchangeRateService.getUsdtByType(BigDecimal.valueOf(currency), type);
+ walletExtendAll = Arith.add(walletExtendAll, usdtByType.doubleValue());
+ }
+ }
+ }
+ return walletExtendAll;
+ }
+
public double getWalletExtendConvertUsdt(String partyId, List<Realtime> realtimeList, List<String> symbolList) {
double walletExtendAll = 0;
List<WalletExtend> walletExtends = findExtend(partyId, symbolList);
@@ -1047,6 +1076,29 @@
return walletExtendAll;
}
+ public double getWalletExtendConvertUSDT(String partyId, List<String> symbolList) {
+ double walletExtendAll = 0;
+ List<WalletExtend> walletExtends = findExtend(partyId, symbolList);
+ for (WalletExtend walletExtend : walletExtends) {
+ String symbol = symbolList.stream()
+ .filter( x -> x.equalsIgnoreCase(walletExtend.getWallettype()))
+ .findFirst().orElse(null);
+ if (symbol != null) {
+ List<Realtime> realtimeList = dataService.realtime(symbol);
+ if (!CollectionUtil.isEmpty(realtimeList)) {
+ Realtime realtime = realtimeList.get(0);
+ Item item = itemService.findBySymbol(symbol);
+ String type = item.getType();
+ double currency = Arith.mul(realtime.getClose(), walletExtend.getAmount());
+ BigDecimal usdtByType = exchangeRateService.getUsdtByType(BigDecimal.valueOf(currency), type);
+ walletExtendAll = Arith.add(walletExtendAll, usdtByType.doubleValue());
+ }
+ }
+ }
+ return walletExtendAll;
+ }
+
+
/*
* 获取 所有订单 交割合约总资产、总未实现盈利 redis
*/
--
Gitblit v1.9.3