diff --git a/backend/src/main/java/com/yfd/platform/utils/DataSourceRequestUtil.java b/backend/src/main/java/com/yfd/platform/utils/DataSourceRequestUtil.java index 17197a2f..a9a101ee 100644 --- a/backend/src/main/java/com/yfd/platform/utils/DataSourceRequestUtil.java +++ b/backend/src/main/java/com/yfd/platform/utils/DataSourceRequestUtil.java @@ -18,18 +18,39 @@ public class DataSourceRequestUtil { private static final Pattern SAFE_IDENTIFIER = Pattern.compile("^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"); +// public static Page getPage(DataSourceRequest request) { +// if (request == null) { +// return null; +// } +// int take = request.getTake(); +// int skip = request.getSkip(); +// if (take <= 0) { +// return null; +// } +// Page page = new Page<>(); +// page.setSize((long) take); +// page.setCurrent(skip / take + 1L); +// return page; +// } + + public static Page getPage(DataSourceRequest request) { if (request == null) { return null; } - int take = request.getTake(); - int skip = request.getSkip(); - if (take <= 0) { - return null; + int pageNum = request.getSkip(); // 前端传的页码(从1开始) + int pageSize = request.getTake(); // 每页条数 + + if (pageSize <= 0) { + return null; // 或 throw new IllegalArgumentException("每页条数必须大于0") } + if (pageNum < 1) { + pageNum = 1; // 页码最小为1 + } + Page page = new Page<>(); - page.setSize((long) take); - page.setCurrent(skip / take + 1L); + page.setSize((long) pageSize); + page.setCurrent(pageNum); // 直接使用页码 return page; }