From b083dd7019e9a7b8f27f4b329014cc463bdf297d Mon Sep 17 00:00:00 2001 From: tangwei Date: Thu, 11 Jun 2026 13:08:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E8=BF=87=E9=B1=BC?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E9=A1=B5=E9=9D=A2=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/utils/DataSourceRequestUtil.java | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) 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; }