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