12 小时以前 bfcc71f500625a26886b43c43a8fdf2ea1152844
src/main/java/com/ruoyi/http/service/controller/JclyController.java
@@ -67,6 +67,14 @@
                }
            }
        }
        // 按 deviceName 第一个字符(数字)排序
        maps.sort((a, b) -> {
            String nameA = a.getOrDefault("deviceName", "");
            String nameB = b.getOrDefault("deviceName", "");
            int firstNumA = extractFirstNumber(nameA);
            int firstNumB = extractFirstNumber(nameB);
            return Integer.compare(firstNumA, firstNumB);
        });
        return AjaxResult.success(maps);
    }
@@ -81,4 +89,26 @@
        return AjaxResult.success(maps);
    }
    /**
     * 提取字符串开头的数字
     */
    private int extractFirstNumber(String str) {
        if (str == null || str.isEmpty()) {
            return Integer.MAX_VALUE;
        }
        StringBuilder numStr = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (Character.isDigit(c)) {
                numStr.append(c);
            } else {
                break;
            }
        }
        if (numStr.length() == 0) {
            return Integer.MAX_VALUE;
        }
        return Integer.parseInt(numStr.toString());
    }
}