From e69a147f81c790a805558a2e93b34364852d7dea Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 18 Nov 2025 16:13:15 +0800
Subject: [PATCH] 新增英镑汇率
---
trading-order-service/src/main/java/com/yami/trading/service/rate/ExchangeRateService.java | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/rate/ExchangeRateService.java b/trading-order-service/src/main/java/com/yami/trading/service/rate/ExchangeRateService.java
index 816b83d..1254ab7 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/rate/ExchangeRateService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/rate/ExchangeRateService.java
@@ -84,4 +84,36 @@
return currency;
}
+ /**
+ * 根据股票类型获取对应USDT金额
+ *
+ * @param currency 币种价值
+ * @param type 股票类型
+ * @return currency
+ */
+ public BigDecimal getUsdtByType(List<ExchangeRate> list, BigDecimal currency, String type) {
+ if (StringUtils.isEmpty(type)) {
+ type = Item.US_STOCKS;
+ }
+ if (type.contains("A") && !Item.A_STOCKS.equalsIgnoreCase(type)) {
+ type = type.replace("A", "");
+ }
+ //ExchangeRate rate = getOne(new LambdaQueryWrapper<ExchangeRate>().like(ExchangeRate::getType, type));
+ String finalType = type;
+ ExchangeRate rate = list.stream()
+ .filter(x -> {
+ if (x.getType() == null || x.getType().isEmpty()) {
+ return false; // 若任一为 null,不匹配
+ }
+ // 统一转为小写(或大写)后,判断是否包含目标子串
+ return x.getType().toLowerCase().contains(finalType.toLowerCase());
+ })
+ .findFirst().orElse(null);
+ if (rate != null) {
+ BigDecimal rata = rate.getRata();
+ currency = currency.divide(rata, 4, RoundingMode.FLOOR);
+ }
+ return currency;
+ }
+
}
--
Gitblit v1.9.3