From db2df18d934abbb3514ea8e7162f037a69988eae Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Wed, 19 Nov 2025 14:53:49 +0800
Subject: [PATCH] 优化
---
trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java | 32 +++++++++++++++-----------------
1 files changed, 15 insertions(+), 17 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 3db41b9..6b1029f 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
@@ -1,7 +1,6 @@
package com.yami.trading.api.controller;
import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.text.split.SplitIter;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import com.yami.trading.bean.data.domain.Realtime;
@@ -10,7 +9,6 @@
import com.yami.trading.bean.item.domain.Item;
import com.yami.trading.common.domain.Result;
import com.yami.trading.common.exception.YamiShopBindException;
-import com.yami.trading.common.util.StringUtils;
import com.yami.trading.huobi.data.DataCache;
import com.yami.trading.service.data.DataService;
import com.yami.trading.service.item.ItemService;
@@ -216,6 +214,7 @@
.chg(realtime.getChg())
.type(item.getType())
.category(item.getCategory())
+ .pid(item.getStockCode())
.build();
list.add(dto);
}
@@ -318,34 +317,26 @@
itemsTotal = new ArrayList<>(itemList).stream().filter(item -> item.getType().equals(type)
&& item.getCategory().equals(finalCategory)).collect(Collectors.toList());
}
- if (pageNo * pageSize - pageSize < itemsTotal.size()) {
- int pages = itemsTotal.size() % pageSize == 0 ? itemsTotal.size() / pageSize : itemsTotal.size() / pageSize + 1;
- int start = pageNo <= 0 ? 0 : (pageNo > pages ? (pages - 1) * pageSize : (pageNo - 1) * pageSize);
- items = itemsTotal.stream().skip(start).limit(pageSize).collect(Collectors.toList());
- }
} else if (null != type) {
itemsTotal = new ArrayList<>(itemList).stream().filter(item -> item.getType().equals(type))
.collect(Collectors.toList());
- if (pageNo * pageSize - pageSize < itemsTotal.size()) {
- int pages = itemsTotal.size() % pageSize == 0 ? itemsTotal.size() / pageSize : itemsTotal.size() / pageSize + 1;
- int start = pageNo <= 0 ? 0 : (pageNo > pages ? (pages - 1) * pageSize : (pageNo - 1) * pageSize);
- items = itemsTotal.stream().skip(start).limit(pageSize).collect(Collectors.toList());
- items.forEach(x -> x.setCategory("prominent"));
- }
+ itemsTotal.forEach(x -> x.setCategory("prominent"));
+
} else {
itemsTotal = new ArrayList<>(itemList);
List<String> symbols = Item.types;
for (String symbol : symbols) {
List<Item> list = itemsTotal.stream().filter(item -> symbol.equals(item.getType())).limit(5).collect(Collectors.toList());
if (list.size() > 0) {
- items.addAll(list);
+ itemsTotal.addAll(list);
}
}
}
List<QueryRealtimeDTO> list = new ArrayList<>();
- assert items != null;
- items.forEach(item -> {
+ assert itemsTotal != null;
+ List<QueryRealtimeDTO> finalList = list;
+ itemsTotal.forEach(item -> {
Realtime realtime = DataCache.getRealtime(item.getSymbol());
if (realtime != null) {
QueryRealtimeDTO dto = QueryRealtimeDTO.builder()
@@ -366,14 +357,21 @@
.chg(realtime.getChg())
.category(item.getCategory())
.type(item.getType())
+ .pid(item.getStockCode())
.build();
- list.add(dto);
+ finalList.add(dto);
} else {
log.error("获取行情接口,realtime is null;币种->{}", item.getSymbol());
}
});
+ list = finalList;
if (!list.isEmpty()) {
list.sort(Comparator.comparing(QueryRealtimeDTO::getChangeRatio).reversed());
+ if (pageNo * pageSize - pageSize < itemsTotal.size()) {
+ int pages = itemsTotal.size() % pageSize == 0 ? itemsTotal.size() / pageSize : itemsTotal.size() / pageSize + 1;
+ int start = pageNo <= 0 ? 0 : (pageNo > pages ? (pages - 1) * pageSize : (pageNo - 1) * pageSize);
+ list = list.stream().skip(start).limit(pageSize).collect(Collectors.toList());
+ }
}
Result<List<QueryRealtimeDTO>> ok = Result.ok(list);
ok.setTotal((long) itemsTotal.size());
--
Gitblit v1.9.3