1
zj
5 days ago 2e3e12aca66acfcb03cf7da9c23eed3d3bfee84d
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiItemController.java
@@ -254,9 +254,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 +276,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