From 5e57de9b12ee136e45ce5754c7fe2e7eb12af05a Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 12 Jun 2026 18:35:45 +0800
Subject: [PATCH] 1
---
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiItemController.java | 29 +++++++++++++++++++++--------
1 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiItemController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiItemController.java
index c1afbf3..a781446 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiItemController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiItemController.java
@@ -28,7 +28,6 @@
import com.yami.trading.common.util.RandomUtil;
import com.yami.trading.common.util.StringUtils;
import com.yami.trading.security.common.util.SecurityUtils;
-import com.yami.trading.service.MarketOpenChecker;
import com.yami.trading.service.data.DataService;
import com.yami.trading.service.item.ItemService;
import com.yami.trading.service.item.ItemUserOptionalItemService;
@@ -254,9 +253,21 @@
queryWrapper.notIn(ObjectUtil.notEqual("1", itemQuery.getMarketIndex()), "symbol", symbolsNotCotnains);
}
- List<String> symbols = Lists.newArrayList();
- if (StrUtil.isNotEmpty(symbol)) {
- symbols = Splitter.on(",").splitToList(symbol);
+ // 搜索:name / symbol 均支持对 NAME、SYMBOL、en_name 模糊匹配。
+ // 仅当 symbol 为逗号分隔的多代码时,才按精确 symbol 列表筛选。
+ String nameParam = StrUtil.trim(itemQuery.getName());
+ String keywordParam = StrUtil.trim(itemQuery.getKeyword());
+ String symbolParam = StrUtil.trim(symbol);
+ List<String> symbolFilter = Lists.newArrayList();
+ String keyword = null;
+ if (StrUtil.isNotEmpty(symbolParam) && symbolParam.contains(",")) {
+ symbolFilter = Splitter.on(",").trimResults().omitEmptyStrings().splitToList(symbolParam);
+ } else if (StrUtil.isNotBlank(keywordParam)) {
+ keyword = keywordParam;
+ } else if (StrUtil.isNotBlank(nameParam)) {
+ keyword = nameParam;
+ } else if (StrUtil.isNotBlank(symbolParam)) {
+ keyword = symbolParam;
}
if ("1".equalsIgnoreCase(itemQuery.getBoardType())) {
@@ -264,9 +275,11 @@
} else if ("2".equalsIgnoreCase(itemQuery.getBoardType())) {
queryWrapper.ne("category", "global");
}
- queryWrapper.in(CollectionUtil.isNotEmpty(symbols), "symbol", symbols);
- String name = itemQuery.getName();
- queryWrapper.and(StringUtils.isNotEmpty(name), itemWrapper -> itemWrapper.like("name", name).or().like("symbol", name).or().like("en_name", name));
+ queryWrapper.in(CollectionUtil.isNotEmpty(symbolFilter), "symbol", symbolFilter);
+ if (StrUtil.isNotBlank(keyword)) {
+ final String kw = keyword;
+ queryWrapper.and(w -> w.like("name", kw).or().like("symbol", kw).or().like("en_name", kw));
+ }
queryWrapper.eq(StrUtil.isNotBlank(type), "type", type);
queryWrapper.like(StrUtil.isNotBlank(category), "category", category);
// 倒序吗? TODO
@@ -389,7 +402,7 @@
@GetMapping(ITEM + "queryBySymbol.action")
public Result<Item> queryBySymbol(String symbol) {
Item item = itemService.findBySymbol(symbol);
- item.setOpen(MarketOpenChecker.isMarketOpenByItemCloseType(item.getOpenCloseType()));
+ item.setOpen(itemService.isOpen(symbol));
return Result.succeed(item);
}
--
Gitblit v1.9.3