From c50561d007e420f7397f73afce8966231973ec54 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Mon, 18 Aug 2025 17:35:30 +0800
Subject: [PATCH] 外汇接口调整
---
trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java | 30 +++++++++++++++++++++++++++---
1 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
index b85db7a..3d8ffcf 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.yami.trading.bean.data.domain.Kline;
import com.yami.trading.bean.data.domain.Realtime;
import com.yami.trading.bean.data.domain.TradeDetails;
import com.yami.trading.bean.item.domain.Item;
@@ -12,6 +13,8 @@
import com.yami.trading.common.util.StringUtils;
import com.yami.trading.common.web.ResultObject;
import com.yami.trading.huobi.data.DataCache;
+import com.yami.trading.huobi.data.internal.KlineConstant;
+import com.yami.trading.huobi.data.internal.KlineService;
import com.yami.trading.service.data.DataService;
import com.yami.trading.service.item.ItemService;
import io.swagger.annotations.Api;
@@ -48,15 +51,28 @@
private DataService dataService;
@Autowired
private ItemService itemService;
+ @Autowired
+ private KlineService klineService;
@ApiOperation(value = "行情")
@GetMapping(HOBI + "getRealtime.action")
public Result<List<Realtime>> getRealtime(@RequestParam(value = "",required = false) String symbol) {
try {
-// if(StringUtils.isEmptyString(symbol)){
-// return new Result<>();
-// }
+ if(StringUtils.isEmptyString(symbol)){
+ List<Item> items = itemService.findByType("forex");
+ StringBuilder symbolBuilder = new StringBuilder();
+ if (items != null && !items.isEmpty()) {
+ for (Item item : items) {
+ symbolBuilder.append(item.getSymbol()).append(",");
+ }
+ // 移除最后一个逗号
+ if (symbolBuilder.length() > 0) {
+ symbolBuilder.setLength(symbolBuilder.length() - 1);
+ }
+ }
+ symbol = symbolBuilder.toString();
+ }
List<Realtime> data = this.dataService.realtime(symbol);
data.forEach(d->{
Item bySymbol = itemService.findBySymbol(d.getSymbol());
@@ -73,6 +89,14 @@
BigDecimal bigDecimal = BigDecimal.valueOf(1, decimals);
d.setAsk(d.getClose().add(bigDecimal).setScale(decimals, RoundingMode.HALF_UP));
d.setBid(d.getClose().subtract(bigDecimal).setScale(decimals, RoundingMode.HALF_UP));
+ //涨跌幅 = (当天收盘价 - 前一日收盘价) / 前一日收盘价 * 100%
+// if(null != bySymbol.getYesterdayLastPrice() && bySymbol.getYesterdayLastPrice().compareTo(BigDecimal.ZERO) != 0){
+// BigDecimal changePercent = (d.getClose().subtract(bySymbol.getYesterdayLastPrice()))
+// .divide(bySymbol.getYesterdayLastPrice(), 5, RoundingMode.HALF_UP) // 精确到4位小数
+// .multiply(new BigDecimal("100").setScale(2)).setScale(4,RoundingMode.HALF_UP); // 乘以100得到百分比
+// d.setChangeRatioStr(changePercent);
+// }
+
if(d.getVolume()!=null){
d.setVolume(d.getVolume().setScale(2, RoundingMode.HALF_UP));
}
--
Gitblit v1.9.3